38 "FLOATS",
"ABSOLUTE",
"RELATIVE",
"FIXED"
82 default:
return "???";
188 for (
int oofmIndex = 0; oofmIndex <
NUM_OOFM; oofmIndex++) {
191 for (
Widget *widget =
this;
237 void (*splitHeightFun) (
int,
int*,
240 DBG_OBJ_ENTER (
"resize", 0,
"correctRequisitionByOOF",
"%d * (%d + %d), ...",
246 for (
int i = 0; i <
NUM_OOFM; i++) {
251 int oofWidth, oofHeight;
254 DBG_OBJ_MSGF (
"resize", 1,
"result: %d * %d", oofWidth, oofHeight);
257 if (
outOfFlowMgr[i]->containerMustAdjustExtraSpace () &&
268 if (
outOfFlowMgr[i]->containerMustAdjustExtraSpace () &&
276 splitHeightFun (oofHeight,
289 DBG_OBJ_MSGF (
"resize", 1,
"after correction: %d * (%d + %d)",
308 DBG_OBJ_ENTER (
"resize", 0,
"correctExtremesByOOF",
"%d (%d) / %d (%d)",
312 for (
int i = 0; i <
NUM_OOFM; i++) {
317 int oofMinWidth, oofMaxWidth;
320 oofMinWidth, oofMaxWidth);
331 DBG_OBJ_MSGF (
"resize", 1,
"after correction: %d (%d) / %d (%d)",
366 DBG_OBJ_ENTER (
"draw", 0,
"doesWidgetOOFInterruptDrawing",
"%p", widget);
401 "(%d, %d, %d * %d), %s",
439 fprintf (stderr,
"OOFAwareWidget::drawLevel: invalid level %s (%d)",
450 for (
int i = 0; i <
NUM_OOFM; i++) {
459 DBG_OBJ_ENTER (
"events", 0,
"getWidgetAtPoint",
"%d, %d", x, y);
460 Widget *widgetAtPoint = NULL;
463 for (
int level =
SL_END - 1; widgetAtPoint == NULL && level >
SL_START;
470 return widgetAtPoint;
477 DBG_OBJ_ENTER (
"events", 0,
"OOFAwareWidget::getWidgetAtPointLevel",
480 Widget *widgetAtPoint = NULL;
485 widgetAtPoint =
this;
516 "OOFAwareWidget::getWidgetAtPointLevel: invalid level %s (%d)",
523 return widgetAtPoint;
530 Widget *widgetAtPoint = NULL;
532 for (
int i =
NUM_OOFM -1; widgetAtPoint == NULL && i >= 0; i--) {
537 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.
Widget * getTopWidgetAtPoint(int x, int y, core::GettingWidgetAtPointContext *context)
void drawTop(View *view, Rectangle *area, DrawingContext *context)
void drawBottom(View *view, Rectangle *area, DrawingContext *context)
Widget * getBottomWidgetAtPoint(int x, int y, core::GettingWidgetAtPointContext *context)
An interface to encapsulate platform dependent drawing.
OutOfFlowMgr implementation dealing with floats.
virtual void getExtremes(core::Extremes *containerExtr, int *oofMinWidth, int *oofMaxWidth)=0
virtual core::Widget * getWidgetAtPoint(int x, int y, core::GettingWidgetAtPointContext *context)=0
virtual int getNumWidgets()=0
virtual void containerSizeChangedForChildren()=0
virtual void getSize(core::Requisition *containerReq, int *oofWidth, int *oofHeight)=0
virtual void sizeAllocateStart(OOFAwareWidget *caller, core::Allocation *allocation)=0
virtual void sizeAllocateEnd(OOFAwareWidget *caller)=0
virtual void draw(core::View *view, core::Rectangle *area, core::DrawingContext *context)=0
bool instanceOf(int otherClassId)
Returns, whether this class is an instance of the class, given by otherClassId, or of a sub class of ...
const char * getClassName()
Return the name, under which the class of this object was registered.
void registerName(const char *className, int *classId)
This method must be called in the constructor for the sub class.
#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_LEAVE_VAL_O(obj, fmt,...)
#define DBG_OBJ_MSGF_O(aspect, prio, obj, fmt,...)
#define DBG_OBJ_ENTER(aspect, prio, funname, fmt,...)
#define DBG_OBJ_ASSOC(parent, child)
#define DBG_OBJ_MSG_START()
#define DBG_OBJ_ARRSET_PTR(var, ind, val)
#define DBG_OBJ_LEAVE_VAL(fmt,...)
#define DBG_OBJ_ENTER_O(aspect, prio, obj, funname, fmt,...)
Anything related to Dillo Widget styles is defined here.
The core of Dw is defined in this namespace.
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.
void notImplemented(const char *name)
const char * boolToStr(bool b)
Here, some common classes (or interfaces) are defined, to standardize the access to other classes.
Represents the allocation, i.e.