21#ifndef __DW_WIDGET_HH__
22#define __DW_WIDGET_HH__
24#ifndef __INCLUDED_FROM_DW_CORE_HH__
25# error Do not include this file directly, use "core.hh" instead.
28#include "../lout/identity.hh"
113 void getBgArea (
int *x,
int *y,
int *width,
int *height);
114 void getRefArea (
int *xRef,
int *yRef,
int *widthRef,
int *heightRef);
116 void draw (
int x,
int y,
int width,
int height);
314 Widget **references,
int *x,
int *y);
326 Widget **references,
int *x,
int *y);
363 void (*splitHeightFun) (
int,
int*,
365 bool allowDecreaseWidth,
366 bool allowDecreaseHeight);
368 void (*splitHeightFun) (
int,
int*,
int*),
369 bool allowDecreaseWidth,
bool allowDecreaseHeight);
371 bool allowDecreaseWidth);
373 void (*splitHeightFun) (
int,
int*,
int*),
374 bool allowDecreaseHeight);
376 bool allowDecreaseWidth,
bool allowDecreaseHeight,
377 void (*splitHeightFun) (
int,
int*,
int*));
379 bool useAdjustmentWidth);
414 inline bool selectionButtonPress (
Iterator *it,
int charPos,
int linkNo,
418 inline bool selectionButtonRelease (Iterator *it,
int charPos,
int linkNo,
419 EventButton *event,
bool withinContent)
422 inline bool selectionButtonMotion (Iterator *it,
int charPos,
int linkNo,
423 EventMotion *event,
bool withinContent)
427 Iterator *it,
int charPos,
int linkNo,
523 Widget **references = NULL,
int *x = NULL,
int *y = NULL);
525 Widget **references = NULL,
int *x = NULL,
int *y = NULL);
534 void (*splitHeightFun) (
int,
int*,
int*),
535 bool allowDecreaseWidth,
bool allowDecreaseHeight);
538 int limitMinWidth,
bool forceValue);
540 int limitMinWidth,
bool forceValue,
int *finalWidth);
542 Widget *refWidget,
bool forceValue);
543 static void adjustHeight (
int *height,
bool allowDecreaseHeight,
int ascent,
580 int x,
int y,
int width,
int height,
bool inverse);
605 int x,
int y,
int width,
int height);
607 void getMarginArea (
int *xMar,
int *yMar,
int *widthMar,
int *heightMar);
608 void getBorderArea (
int *xBor,
int *yBor,
int *widthBor,
int *heightBor);
609 void getPaddingArea (
int *xPad,
int *yPad,
int *widthPad,
int *heightPad);
Set at the top when drawing.
Represents a enter or leave notify event.
Represents a mouse motion event.
Set at the top when getting the widget at the point.
Iterators are used to iterate through the contents of a widget.
The central class for managing and drawing a widget tree.
void changeAnchor(Widget *widget, char *name, int y)
void setCursor(style::Cursor cursor)
char * addAnchor(Widget *widget, const char *name)
Used, when the widget is not allocated yet.
SelectionState selectionState
void removeAnchor(Widget *widget, char *name)
Base class for all mouse events related to a specific position.
dw::core::Shape implemtation for simple rectangles.
bool handleEvent(EventType eventType, Iterator *it, int charPos, int linkNo, MousePositionEvent *event)
General form of dw::core::SelectionState::buttonPress, dw::core::SelectionState::buttonRelease and dw...
bool buttonPress(Iterator *it, int charPos, int linkNo, EventButton *event)
bool buttonRelease(Iterator *it, int charPos, int linkNo, EventButton *event)
bool buttonMotion(Iterator *it, int charPos, int linkNo, EventMotion *event)
Hold arguments passed to dw::core::Widget::sizeRequest and dw::core::Widget::getExtremes,...
See Handling stacking contexts.
An interface to encapsulate platform dependent drawing.
Represents a dimension box according to the CSS box model.
Instances of classes, which are sub classes of this class, may be identified at run-time.
#define DBG_OBJ_SET_SYM(var, val)
#define DBG_OBJ_SET_PTR(var, val)
int Length
Type for representing all lengths within dw::core::style.
void splitHeightPreserveDescent(int height, int *ascent, int *descent)
void splitHeightPreserveAscent(int height, int *ascent, int *descent)
Dw is in this namespace, or sub namespaces of this one.
Represents the allocation, i.e.