Usermode/AxWin3 - Working on the libaxwin3 API
[tpg/acess2.git] / Usermode / Applications / axwin3_src / WM / renderer_widget.c
index fa284e8..43d39c1 100644 (file)
@@ -92,7 +92,7 @@ void Renderer_Widget_Redraw(tWindow *Window)
 }
 
 // --- Render / Resize ---
-void _UpdateDimensions(tElement *Ele)
+void Widget_UpdateDimensions(tElement *Element)
 {
        tElement        *child;
         int    nChildren = 0;
@@ -189,12 +189,15 @@ void _UpdateDimensions(tElement *Ele)
                child->CachedX = -1;
        
                // Recurse down so the child elements can be updated    
-               _UpdateDimensions(child);
+               Widget_UpdateDimensions(child);
        }
        
 }
 
-void _UpdatePosition(tElement *Element)
+/**
+ * \brief Update the position of child elements
+ */
+void Widget_UpdatePosition(tElement *Element)
 {
        tElement        *child;
         int    x, y;
@@ -236,7 +239,7 @@ void _UpdatePosition(tElement *Element)
                        child->CachedX = newX;
                        child->CachedY = newY;
                        // Update child's children positions
-                       WM_UpdatePosition(child);
+                       Widget_UpdatePosition(child);
                }
                
                // Increment
@@ -251,25 +254,19 @@ void _UpdatePosition(tElement *Element)
 
 
 // --- Helpers ---
-tElement *_GetElementById(tWidgetWin *Info, uint32_t ID)
+tElement *Widget_GetElementById(tWidgetWin *Info, uint32_t ID)
 {
        tElement        *ele;
-        int    num;
        
        if( ID < Info->TableSize )      return Info->ElementTable[ID];
 
-       while( ID >= Info->TableSize ) {
-               num ++;
-               ID -= Info->TableSize;
-       }
-
-       ele = Info->ElementTable[num];
-       while(num-- && ele)     ele = ele->ListNext;
+       ele = Info->ElementTable[ID % Info->TableSize];
+       while(ele && ele->ID != ID)     ele = ele->ListNext;
        return ele;
 }
 
 // --- Message Handlers ---
-void _NewWidget(tWidgetWin *Info, size_t Len, tWidgetMsg_Create *Msg)
+void Widget_NewWidget(tWidgetWin *Info, size_t Len, tWidgetMsg_Create *Msg)
 {
        const int       max_debugname_len = Len - sizeof(tWidgetMsg_Create);
        tElement        *parent;        
@@ -290,9 +287,11 @@ int Renderer_Widget_HandleMessage(tWindow *Target, int Msg, int Len, void *Data)
        tWidgetWin      *info = Target->RendererInfo;
        switch(Msg)
        {
+       // New Widget
        case MSG_WIDGET_CREATE:
-               _NewWidget(info, Len, Data);
+               Widget_NewWidget(info, Len, Data);
                return 0;
+       // 
        default:
                return 1;       // Unhandled
        }

UCC git Repository :: git.ucc.asn.au