From 15f5b23f7fb36e99f38afdac4cded701e56984a1 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sat, 29 Oct 2011 09:26:50 +0800 Subject: [PATCH 1/1] Usermode/AxWin3 - Fiddliing with things --- .../axwin3_src/WM/include/renderer_widget.h | 21 ++++++++++ .../axwin3_src/WM/renderer_widget.c | 40 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 Usermode/Applications/axwin3_src/WM/include/renderer_widget.h diff --git a/Usermode/Applications/axwin3_src/WM/include/renderer_widget.h b/Usermode/Applications/axwin3_src/WM/include/renderer_widget.h new file mode 100644 index 00000000..fbb3e02a --- /dev/null +++ b/Usermode/Applications/axwin3_src/WM/include/renderer_widget.h @@ -0,0 +1,21 @@ +/* + * Acess2 Window Manager v3 + * - By John Hodge (thePowersGang) + * + * render_widget.h + * - AxWin2 Widget port + */ +#ifndef _RENDERER_WIDGET_H_ +#define _RENDERER_WIDGET_H_ + +#include + +enum +{ + MSG_WIDGET_CREATE, + MSG_WIDGET_DELETE, + MSG_WIDGET_SETTEXT +}; + +#endif + diff --git a/Usermode/Applications/axwin3_src/WM/renderer_widget.c b/Usermode/Applications/axwin3_src/WM/renderer_widget.c index 94f983da..ddcb2437 100644 --- a/Usermode/Applications/axwin3_src/WM/renderer_widget.c +++ b/Usermode/Applications/axwin3_src/WM/renderer_widget.c @@ -7,11 +7,51 @@ */ #include #include +#include // === TYPES === typedef struct sWidgetWin tWidgetWin; +typedef struct sAxWin_Element tElement; // === STRUCTURES === +struct sAxWin_Element +{ + enum eElementTypes Type; + + // Element Tree + tElement *Parent; + tElement *FirstChild; + tElement *LastChild; + tElement *NextSibling; + + // Application + tApplication *Owner; //!< Owning application + uint16_t ApplicationID; //!< Index into sApplication::EleIndex + + // User modifiable attributes + short PaddingL, PaddingR; + short PaddingT, PaddingB; + short GapSize; + + uint32_t Flags; + + short FixedWith; //!< Fixed lengthways Size attribute (height) + short FixedCross; //!< Fixed Cross Size attribute (width) + + char *Text; + + // -- Attributes maitained by the element code + // Not touched by the user + short MinWith; //!< Minimum long size + short MinCross; //!< Minimum cross size + void *Data; //!< Per-type data + + // -- Render Cache + short CachedX, CachedY; + short CachedW, CachedH; + + char DebugName[]; +}; struct sWidgetWin { tElement RootElement; -- 2.20.1