#include "alf.h" #include #include #include #include #include #ifdef _MSC_VER // MSVC6 for scoping hack # define for if(0){}else for #endif #include "alflist.h" #include "alfcompat.h" typedef struct { ALFListHeader list; HWND hwnd; UINT x; UINT y; UINT cptWidth; UINT cptHeight; UINT cptMarginTop; UINT cptMarginRight; UINT cptMarginBottom; UINT cptMarginLeft; DWORD flags; } ALFWidgetPriv; typedef struct { int minWidth; int allocatedWidth; int allocatedPosition; int expand : 1; } ALFRowOrColumn; typedef struct { ALFRowOrColumn *columns; ALFRowOrColumn *rows; int nColumns; int nRows; int totalMinWidth; int totalMinHeight; int occupiedColumnCount; int occupiedRowCount; } ALFLayout; typedef struct { ALFAPP app; ALFWindowVTable *vtbl; void *closure; ALFWindowFonts fonts; ALFListHeader widgets; int modalResult; ALFLayout layout; WORD defid; HWND hwndFocus; } ALFWindowPriv; struct ALFAppPriv { HINSTANCE hInstance; ALFCompatFunctions *compatFn; }; ALFCompatFunctions * ALF_CreateCompatFuncTable(void); void ALF_UpdateFontsPriv(HWND hwnd, ALFWindowPriv *priv);