Tue Jan 4 13:01:33 1994 David Metcalfe <david@prism.demon.co.uk> * [window/caret.c] Modified code to use system timer. Jan 9, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte) * [windows/win.c] Windows create if required new XLIB MenuBar & CaptionBar. * [windows/defwnd.c] WM_CALCSIZE Move & Resize caption, menubar & scrollbars. (I'm not sure it's the good place for it, but it work...) * [loader/resource.c] optimize in FindResourceByNumber, make lseek() if next type ... * [controls/scroll.c] scrollbar buttons are now using system resources bitmaps. * [controls/caption.c] - new file ... captionbar showing title, close button with SysMenu, and other buttons using system resources bitmaps. * [controls/menu.c] New functions: SetMenuItemBitmaps() with 'glues', Make new version of LoadMenu() & ParseMenu(), ( put #define USE_POPUPMENU ). Implementation of MenuBar functions. * [sysres.dll] New bitmaps for system such OBM_CLOSE, OBM_MINIMIZE, OBM_UPARROWI. New SYSMENU menu, it don't work yet ! :-(( Tue Jan 11 05:27:45 1994 julliard@di.epfl.ch (Alexandre Julliard * [memory/atom.c] Fixed a bug that could cause atoms to be case-sensitive. * [misc/rect.c] Bug fix in SubtractRect(). * [objects/clipping.c] Bug fix when setting the clip mask to an empty region. * [windows/dce.c] Bug fix in ReleaseDC(). * [windows/dialog.c] Call AdjustWindowRectEx() before creating the dialog window. Added support for DS_MODALFRAME style. * [windows/event.c] Cleaned up event handling and removed old Xt stuff. Moved double-click handling to windows/message.c * [windows/focus.c] Bug fix: only set the X focus when the window is viewable. * [windows/graphics.c] Rewritten DrawReliefRect() to use brush instead of pen, and to use the system colors. * [windows/message.c] Implemented WM_NCHITTEST message sending, and non-client mouse messages. Cleaned up double-click handling, and removed the Xt code. * [windows/nonclient.c] (New file) Implemented AdjustWindowRect(). Implemented WM_NCCALCSIZE, WM_NCHITTEST and WM_NCPAINT handling. * [windows/painting.c] Added sending of the WM_NCPAINT message in BeginPaint(). * [windows/sysmetrics.c] [include/sysmetrics.h] (New files) Implemented system metrics. * [windows/win.c] Bug fix in setting the parent and owner in CreateWindow(). Removed the Xt code. * [windows/winpos.c] Added sending of the WM_NCPAINT message in SetWindowPos(). Removed the Xt code.
65 lines
2.6 KiB
C
65 lines
2.6 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 */
|
|
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 */
|
|
|
|
/* 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 */
|