How to center dlangui Window on screen

bauss jj_1337 at live.dk
Thu Nov 29 05:54:37 UTC 2018


On Wednesday, 28 November 2018 at 23:07:50 UTC, greatsam4sure 
wrote:
> On Wednesday, 28 November 2018 at 17:23:21 UTC, Edgar Huckert 
> wrote:
>> On Wednesday, 28 November 2018 at 08:55:11 UTC, greatsam4sure 
>> wrote:
>>> I am learning Dlang and Dlangui.
>>>
>>> I encounter, a little problem on:
>>>
>>>  how to center dlangui window on screen.
>>>
>>> How to set the window width and height outside the constructor
>>>
>>> How to maximize and minimize the window using code.
>>>
>>> How to set global font for the application.  The font display 
>>> is not too nice.
>>>
>>> I have check online, the documentation  and available 
>>> tutorial to no help
>>>
>>> Thanks in advance
>>
>> For a little bit of information look at: 
>> https://github.com/buggins/dlangui/pull/372
>>
>> Without going into depth I have tested this under Linux/GTK 
>> with dlangui:
>>
>>     WindowState state;
>>     Rect    rect;
>>     rect.left   = 800;
>>     rect.top    = 10;
>>     rect.bottom = 600;
>>     rect.right  = 1000;
>>     bool bRet= window.setWindowState(state,
>>                                      false,
>>                                      rect);
>>
>>     window.show();
>>
>> This changed the position and size of my initial window.
>>
>> Edgar Huckert
>
>
>
> This help a little but not what I am looking for.
> I want to calculate the width and window of the screen so as to 
> center my window on screen
>
> I also notice that a window of 350 x 550 appear bigger compare 
> to the same Widow dimension in Havana and adobe air.
>
> Why is it so?
>
> Plz help!  Thanks in advance

To center horizontal:

l = left
s = screen width
w = window width

l = (s / 2) - (w / 2)

To center vertical:

t = top
s = screen height
h = window height

t = (s / 2) - (h / 2)

And about the window size.

It has probably to do with the type of Window you're rendering, 
like whether it has borders or not. Borders are not calculated in 
the width / height, so they take up extra space. Adobe usually 
never uses the native GUI for borders etc. so the border size (if 
there is one) is included in their width / height.


More information about the Digitalmars-d-learn mailing list