Thu Jan 13 11:45:13 1994 John Richardson <jrichard@cs.uml.edu> * [window/win.c] Added functions EnableWindow, IsWindowEnabled, and helper WIN_SetSensitive. * [window/event.c] Added checks for WS_DISABLED windows in EVENT_key, EVENT_MotionNotify, EVENT_ButtonPress, EVENT_ButtonRelease, EVENT_ConfigureNotify, EVENT_FocusIn, EVENT_FocusOut, and EVENT_EnterNotify. Key and button presses beep for a disabled window. If anyone finds better places for these checks, please tell me. Jan 17, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte) * [misc/message.c] Cleanup on buttons answer value returned. * [control/combo.c] Now use OBM_COMBO bitmap dropdown button. Mon Jan 17 21:56:45 1994 Erik Bos (erik@trashcan.hacktic.nl) * [misc/comm/c] A few bugfixes. Tue Jan 18 06:36:48 1994 julliard@di.epfl.ch (Alexandre Julliard) * [loader/cursor.c] Added X cursor for IDC_SIZENS and IDC_SIZEWE. * [include/options.h] [misc/main.c] (New files) Rewrote main() function to get rid of Xt application context, and added command-line option parsing. * [objects/color.c] Use of a private map now configurable with command-line option. * [windows/defwnd.c] Added WM_SYSCOMMAND handling, and better WM_SETCURSOR handling. * [windows/event.c] Removed ConfigureNotify event handler (no longer needed). * [windows/message.c] Send WM_SETCURSOR message on mouse events. * [windows/nonclient.c] Use OEM bitmaps for the drawing of the non-client area. Added caption bar buttons handling, and moving and resizing of the window via the window frame (bypassing the window manager). * [windows/painting.c] Bug fix in BeginPaint(). * [windows/win.c] Set the override_redirect flag for windows (to bypass window manager). * [windows/winpos.c] Implemented WindowFromPoint(), ChildWindowFromPoint(), BringWindowToTop(), Get/SetInternalWindowPos(), Get/SetWindowPlacement(). Mon Jan 17 20:48:24 1994 Bob Amstadt (bob@pooh) * [memory/heap.c] Added support for multiple local heaps.
72 lines
2.9 KiB
C
72 lines
2.9 KiB
C
/*
|
|
* Window definitions
|
|
*
|
|
* Copyright 1993 Alexandre Julliard
|
|
*/
|
|
|
|
#ifndef WIN_H
|
|
#define WIN_H
|
|
|
|
#include <X11/Xlib.h>
|
|
|
|
#include "windows.h"
|
|
#include "menu.h"
|
|
|
|
#define WND_MAGIC 0x444e4957 /* 'WIND' */
|
|
|
|
|
|
typedef struct tagWND
|
|
{
|
|
HWND hwndNext; /* Next sibling */
|
|
HWND hwndChild; /* First child */
|
|
DWORD dwMagic; /* Magic number (must be WND_MAGIC) */
|
|
HWND hwndParent; /* Window parent (from CreateWindow) */
|
|
HWND hwndOwner; /* Window owner */
|
|
HCLASS hClass; /* Window class */
|
|
HANDLE hInstance; /* Window hInstance (from CreateWindow) */
|
|
RECT rectClient; /* Client area rel. to parent client area */
|
|
RECT rectWindow; /* Whole window rel. to parent client area */
|
|
RECT rectNormal; /* Window rect. when in normal state */
|
|
POINT ptIconPos; /* Icon position */
|
|
POINT ptMaxPos; /* Maximized window position */
|
|
HANDLE hmemTaskQ; /* Task queue global memory handle */
|
|
HRGN hrgnUpdate; /* Update region */
|
|
HWND hwndLastActive; /* Last active popup hwnd */
|
|
FARPROC lpfnWndProc; /* Window procedure */
|
|
DWORD dwStyle; /* Window style (from CreateWindow) */
|
|
DWORD dwExStyle; /* Extended style (from CreateWindowEx) */
|
|
HANDLE hdce; /* Window DCE (if CS_OWNDC or CS_CLASSDC) */
|
|
HMENU hmenuSystem; /* System menu */
|
|
HCURSOR hCursor; /* Window Current Cursor */
|
|
HWND hWndVScroll; /* Verti. ScrollBar handle of the window */
|
|
HWND hWndHScroll; /* Horiz. ScrollBar handle of the window */
|
|
WORD wIDmenu; /* ID or hmenu (from CreateWindow) */
|
|
HANDLE hText; /* Handle of window text */
|
|
WORD flags; /* Misc. flags */
|
|
Window window; /* X window */
|
|
LPMENUBAR menuBarPtr; /* Menu bar */
|
|
HWND hWndMenuBar; /* Menu bar */
|
|
HWND hWndCaption; /* Caption bar */
|
|
WORD wExtra[1]; /* Window extra bytes */
|
|
} WND;
|
|
|
|
/* WND flags values */
|
|
#define WIN_ERASE_UPDATERGN 0x01 /* Update region needs erasing */
|
|
#define WIN_NEEDS_BEGINPAINT 0x02 /* WM_PAINT sent to window */
|
|
#define WIN_GOT_SIZEMSG 0x04 /* WM_SIZE has been sent to the window */
|
|
#define WIN_OWN_DC 0x08 /* Win class has style CS_OWNDC */
|
|
#define WIN_CLASS_DC 0x10 /* Win class has style CS_CLASSDC */
|
|
#define WIN_DOUBLE_CLICKS 0x20 /* Win class has style CS_DBLCLKS */
|
|
#define WIN_RESTORE_MAX 0x40 /* Maximize when restoring */
|
|
|
|
/* First top-level window */
|
|
extern HWND firstWindow;
|
|
|
|
/* Window functions */
|
|
WND *WIN_FindWndPtr( HWND hwnd );
|
|
BOOL WIN_UnlinkWindow( HWND hwnd );
|
|
BOOL WIN_LinkWindow( HWND hwnd, HWND hwndInsertAfter );
|
|
HWND WIN_FindWinToRepaint( HWND hwnd );
|
|
|
|
|
|
#endif /* WIN_H */
|