RejectedSoftware Forums

Sign up

win64 / vibe / GUI / Cairo

Just want to let you know that I managed to create a Win64 app consisting of

  • vibe
  • cairo
  • extended vibe event loop that handles GUI events

as a prototype.

Robert M. Münch
http://www.saphirion.com
smarter | better | faster

Re: win64 / vibe / GUI / Cairo

Am 16.01.2016 um 12:22 schrieb Robert M. Münch:

Just want to let you know that I managed to create a Win64 app
consisting of

  • vibe
  • cairo
  • extended vibe event loop that handles GUI events

as a prototype.

Nice. What do you mean by extended event loop? Using the "win32"
configuration, it handles GUI events out of the box.

Re: win64 / vibe / GUI / Cairo

On 2016-01-17 10:20:23 +0000, Snke Ludwig said:

Nice. What do you mean by extended event loop? Using the "win32"
configuration, it handles GUI events out of the box.

By "extended" I mean that, to link a GUI window to the hidden message
window of vibe it was necessary to get access to the hwnd of the
mssages windows, so I can use it as partent window handle. Otherwise
the events won't flow from the GUI to the hidden message window for
futher processing.

So, for me it was not possible to open a GUI window right out of the box.

Robert M. Münch
http://www.saphirion.com
smarter | better | faster

Re: win64 / vibe / GUI / Cairo

Am 17.01.2016 um 22:12 schrieb Robert M. Münch:

On 2016-01-17 10:20:23 +0000, Snke Ludwig said:

Nice. What do you mean by extended event loop? Using the "win32"
configuration, it handles GUI events out of the box.

By "extended" I mean that, to link a GUI window to the hidden message
window of vibe it was necessary to get access to the hwnd of the mssages
windows, so I can use it as partent window handle. Otherwise the events
won't flow from the GUI to the hidden message window for futher processing.

So, for me it was not possible to open a GUI window right out of the box.

Hum, the message window only really needs to process the messages that
are directly sent to it, namely the WM_USER_SIGNAL and
WM_USER_SOCKET messages. Did those somehow not reach the window once
you added your own? I never had issues so far.

Re: win64 / vibe / GUI / Cairo

On 2016-01-18 12:10:07 +0000, Snke Ludwig said:

Hum, the message window only really needs to process the messages that
are directly sent to it, namely the WM_USER_SIGNAL and
WM_USER_SOCKET messages. Did those somehow not reach the window once
you added your own? I never had issues so far.

Maybe I'm doing things wrong even it works. So, AFAIU one app can't
have several windows that are not related either by subclassing,
parenting etc.

Or can I just register my own window class, open a new window and the
vibe message loop will work?

Robert M. Münch
http://www.saphirion.com
smarter | better | faster

Re: win64 / vibe / GUI / Cairo

Am 18.01.2016 um 18:35 schrieb Robert M. Münch:

On 2016-01-18 12:10:07 +0000, Snke Ludwig said:

Hum, the message window only really needs to process the messages that
are directly sent to it, namely the WM_USER_SIGNAL and
WM_USER_SOCKET messages. Did those somehow not reach the window once
you added your own? I never had issues so far.

Maybe I'm doing things wrong even it works. So, AFAIU one app can't have
several windows that are not related either by subclassing, parenting etc.

Or can I just register my own window class, open a new window and the
vibe message loop will work?

I've never had an issue with the latter approach. My understanding is
that the message queue can hold messages for any number of otherwise
unrelated windows created by the calling thread. GetMessage with a
NULL hWnd parameter receives any of those, and DispatchMessage
dispatches to the window procedure associated with their respective
window class.

Re: win64 / vibe / GUI / Cairo

On 2016-01-18 17:56:19 +0000, Snke Ludwig said:

I've never had an issue with the latter approach. My understanding is
that the message queue can hold messages for any number of otherwise
unrelated windows created by the calling thread. GetMessage with a
NULL hWnd parameter receives any of those, and DispatchMessage
dispatches to the window procedure associated with their respective
window class.

Going to check and let you know. It's been a while since I have done a
lot of win32 API programming.

Robert M. Münch
http://www.saphirion.com
smarter | better | faster

Re: win64 / vibe / GUI / Cairo

On 2016-01-18 17:56:19 +0000, Snke Ludwig said:

I've never had an issue with the latter approach. My understanding is
that the message queue can hold messages for any number of otherwise
unrelated windows created by the calling thread. GetMessage with a
NULL hWnd parameter receives any of those, and DispatchMessage
dispatches to the window procedure associated with their respective
window class.

Just to confirm, you are right. It's pretty simple then... very good.

Robert M. Münch
http://www.saphirion.com
smarter | better | faster