Improved maintainability of hlayout code.
This commit is contained in:
@@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
static int _layout(AQDG_OBJECT *object);
|
static int _layout(AQDG_OBJECT *object);
|
||||||
static void _vAlignChild(AQDG_OBJECT *child, uint32_t childOpts, int parentHeight, int borderTop, int borderBottom);
|
static void _vAlignChild(AQDG_OBJECT *child, uint32_t childOpts, int parentHeight, int borderTop, int borderBottom);
|
||||||
|
static void _hStretchBelow(AQDG_OBJECT *object, int selfWidth, int minWidth, int hSpacing, int stretchables);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -44,7 +45,6 @@ AQDG_OBJECT *AQDG_HLayoutObject_new(AQDG_OBJECT *parent, uint32_t options)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int _layout(AQDG_OBJECT *object)
|
int _layout(AQDG_OBJECT *object)
|
||||||
{
|
{
|
||||||
AQDG_OBJECT *child;
|
AQDG_OBJECT *child;
|
||||||
@@ -90,31 +90,9 @@ int _layout(AQDG_OBJECT *object)
|
|||||||
}
|
}
|
||||||
minWidth+=AQDG_Object_GetBorderRight(object);
|
minWidth+=AQDG_Object_GetBorderRight(object);
|
||||||
|
|
||||||
if (stretchables && (selfWidth>minWidth)) {
|
if (stretchables && (selfWidth>minWidth))
|
||||||
int diffWidth;
|
_hStretchBelow(object, selfWidth, minWidth, hSpacing, stretchables);
|
||||||
int toAdd;
|
|
||||||
int pos;
|
|
||||||
|
|
||||||
diffWidth=selfWidth-minWidth;
|
|
||||||
toAdd=diffWidth/stretchables;
|
|
||||||
|
|
||||||
pos=AQDG_Object_GetBorderLeft(object);
|
|
||||||
child=AQDG_Object_Tree2_GetFirstChild(object);
|
|
||||||
while(child) {
|
|
||||||
int w;
|
|
||||||
|
|
||||||
AQDG_Object_SetRelativeX(child, pos);
|
|
||||||
w=AQDG_Object_GetWidth(child);
|
|
||||||
if (AQDG_Object_GetOptions(child) & AQDG_OBJECT_OPTIONS_STRETCHX) {
|
|
||||||
w+=toAdd;
|
|
||||||
AQDG_Object_SetWidth(child, w);
|
|
||||||
}
|
|
||||||
pos+=w;
|
|
||||||
child=AQDG_Object_Tree2_GetNext(child);
|
|
||||||
if (child)
|
|
||||||
pos+=hSpacing;
|
|
||||||
} /* while */
|
|
||||||
}
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,6 +126,34 @@ void _vAlignChild(AQDG_OBJECT *child, uint32_t childOpts, int parentHeight, int
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void _hStretchBelow(AQDG_OBJECT *object, int selfWidth, int minWidth, int hSpacing, int stretchables)
|
||||||
|
{
|
||||||
|
AQDG_OBJECT *child;
|
||||||
|
int diffWidth;
|
||||||
|
int toAdd;
|
||||||
|
int pos;
|
||||||
|
|
||||||
|
diffWidth=selfWidth-minWidth;
|
||||||
|
toAdd=diffWidth/stretchables;
|
||||||
|
|
||||||
|
pos=AQDG_Object_GetBorderLeft(object);
|
||||||
|
child=AQDG_Object_Tree2_GetFirstChild(object);
|
||||||
|
while(child) {
|
||||||
|
int w;
|
||||||
|
|
||||||
|
AQDG_Object_SetRelativeX(child, pos);
|
||||||
|
w=AQDG_Object_GetWidth(child);
|
||||||
|
if (AQDG_Object_GetOptions(child) & AQDG_OBJECT_OPTIONS_STRETCHX) {
|
||||||
|
w+=toAdd;
|
||||||
|
AQDG_Object_SetWidth(child, w);
|
||||||
|
}
|
||||||
|
pos+=w;
|
||||||
|
child=AQDG_Object_Tree2_GetNext(child);
|
||||||
|
if (child)
|
||||||
|
pos+=hSpacing;
|
||||||
|
} /* while */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user