Learn graphical programming?

Dee Ayy dee.ayy at gmail.com
Fri Mar 4 17:33:43 UTC 2005


Where should a Linux newbie start to learn 64 bit graphical
programming for AMD64 Ubuntu for the soon to be released Hoary
Hedgehog using X.org (for each of the following topics)?  Please
provide the analogous Linux/Ubuntu/Gnome/X.org/XFree86/X11 names (as
relevant) for the following topics as performed on MS Windows 32 bit
API:

1) Available languages (through Synaptic) that take advantage of 64
bit (preferably C or C++, possibly Java or Python)

2) Finding window handles (child window handles FindWindow FindWindowEx)

3) Hooking a foreign "not programmed by me" application (or child
component window) to monitor its messages/events (i.e. WM_PAINT - This
would be programmed in my own application possibly with a DLL and
verified via a utility such as Spy++) (SetWindowsHookEx
CallNextHookEx)

4) Writing a DLL if needed for hooking

5) A Spy++ type of utility (preferably through Synaptic)

6) Components/widgets and handling mouse and keyboard messages/events

7) Subclassing a component/widget to Send/Post/or otherwise write a
custom message handler (GetWindowLong, SetWindowLong, CallWindowProc,
SendMessage, PostMessage)

8a) Grab the pixel color data for the screen (or section of the
screen) and place into a 2D array in memory and/or onto
component/widget (BitBlt, GetPixel, SetPixel)

8b) Same as 8a as applies to multi-monitor, multi-desktop, or
multi-sessions/virtual terminals/logins.  Perhaps does not apply if
pixels are not visible.

8c) Not a programmer question: Is there a keyboard keystroke to change
virtual desktops?  I think I just found one for switching virtual
terminals (what I wrote in 8b as multi-sessions)
http://ubuntuforums.org/showthread.php?t=5315 post #4  Ctrl + Alt + F4

9) Multi-threading

I don't know where to start in terms of
"Linux/Ubuntu/Gnome/X.org/XFree86/X11" nor the appropriate topic
names.  I will probably start with Warty under XFree86 (if that makes
a difference).

Regards.




More information about the ubuntu-users mailing list