22#include "../lout/debug.hh"
55 DBG_OBJ_ENTER (
"common.scm", 0,
"addChildSCWidget",
"%p [z-index = %d]",
91 result = mustExist ? -1 : 0;
97 int index = (low + high) / 2;
108 result = zIndex >
zIndices[index] ? index + 1 : index;
126 DBG_OBJ_ENTER (
"draw", 0,
"draw",
"[%d, %d, %d * %d], %d, %d",
130 for (
int zIndexIndex = 0; zIndexIndex <
numZIndices; zIndexIndex++) {
134 zIndices[zIndexIndex] <= endZIndex) {
146 child->
draw (view, &childArea, context);
159 int startZIndex,
int endZIndex)
161 DBG_OBJ_ENTER (
"events", 0,
"getWidgetAtPoint",
"%d, %d", x, y);
163 Widget *widgetAtPoint = NULL;
166 widgetAtPoint == NULL && zIndexIndex >= 0; zIndexIndex--) {
170 zIndices[zIndexIndex] <= endZIndex) {
176 widgetAtPoint == NULL && i >= 0; i--) {
190 return widgetAtPoint;
Set at the top when drawing.
Set at the top when getting the widget at the point.
dw::core::Shape implemtation for simple rectangles.
int findZIndex(int zIndex, bool mustExist)
void draw(View *view, Rectangle *area, int startZIndex, int endZIndex, DrawingContext *context)
Widget * getWidgetAtPoint(int x, int y, core::GettingWidgetAtPointContext *context, int startZIndex, int endZIndex)
void addChildSCWidget(Widget *widget)
StackingContextMgr(Widget *widget)
lout::container::typed::Vector< Widget > * childSCWidgets
An interface to encapsulate platform dependent drawing.
Typed version of container::untyped::Vector.
#define DBG_OBJ_CREATE(klass)
#define DBG_OBJ_MSG_END()
#define DBG_OBJ_MSGF(aspect, prio, fmt,...)
#define DBG_OBJ_SET_NUM(var, val)
#define DBG_OBJ_ARRSET_NUM(var, ind, val)
#define DBG_OBJ_ENTER(aspect, prio, funname, fmt,...)
#define DBG_OBJ_MSG_START()
#define DBG_OBJ_ARRSET_PTR(var, ind, val)
Dw is in this namespace, or sub namespaces of this one.
This namespace provides thin wrappers, implemented as C++ templates, to gain type-safety.
Miscellaneous stuff, which does not fit anywhere else.