4#ifndef __INCLUDED_FROM_DW_CORE_HH__
5# error Do not include this file directly, use "core.hh" instead.
116 return x1 * y2 - x2 * y1;
119 bool linesCross0(
int ax1,
int ay1,
int ax2,
int ay2,
120 int bx1,
int by1,
int bx2,
int by2);
121 bool linesCross(
int ax1,
int ay1,
int ax2,
int ay2,
122 int bx1,
int by1,
int bx2,
int by2);
271 TypedPointer<Widget> > (
true);
dw::core::Shape implemtation for simple circles.
void draw(core::View *view, core::style::Style *style, int x, int y)
bool isPointWithin(int x, int y)
Set at the top when drawing.
Rectangle * getToplevelArea()
DrawingContext(Rectangle *toplevelArea)
Set at the top when getting the widget at the point.
dw::core::Shape implemtation for polygons.
int zOfVectorProduct(int x1, int y1, int x2, int y2)
Return the z-coordinate of the vector product of two vectors, whose z-coordinate is 0 (so that x and ...
bool isPointWithin(int x, int y)
bool linesCross(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2)
Return, whether the line, limited by (ax1, ay1) and (ax2, ay2), crosses the line, limited by (bx1,...
void addPoint(int x, int y)
bool linesCross0(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2)
Return, whether the line, limited by (ax1, ay1) and (ax2, ay2), crosses the unlimited line,...
lout::misc::SimpleVector< Point > * points
void draw(core::View *view, core::style::Style *style, int x, int y)
dw::core::Shape implemtation for simple rectangles.
bool isPointWithin(int x, int y)
void draw(core::View *view, core::style::Style *style, int x, int y)
bool intersectsWith(Rectangle *otherRect, Rectangle *dest)
Return whether this rectangle and otherRect intersect.
bool isSubsetOf(Rectangle *otherRect)
Implementation for a point set.
lout::container::typed::List< Rectangle > * rectangleList
void addRectangle(Rectangle *r)
Add a rectangle to the region and combine it with existing rectangles if possible.
lout::container::typed::Iterator< Rectangle > rectangles()
Abstract interface for different shapes.
virtual bool isPointWithin(int x, int y)=0
virtual void draw(core::View *view, core::style::Style *style, int x, int y)=0
Base class for dw::core::DrawingContext and dw::core::GettingWidgetAtPointContext.
bool hasWidgetBeenProcessedAsInterruption(Widget *widget)
lout::container::typed::HashSet< lout::object::TypedPointer< Widget > > * widgetsProcessedAsInterruption
StackingProcessingContext()
void addWidgetProcessedAsInterruption(Widget *widget)
~StackingProcessingContext()
An interface to encapsulate platform dependent drawing.
Typed version of container::untyped::HashSet.
Simple (simpler than container::untyped::Vector and container::typed::Vector) template based vector.
A class for fast concatenation of a large number of strings.
This is the base class for many other classes, which defines very common virtual methods.
A typed version of object::Pointer.
Dw is in this namespace, or sub namespaces of this one.
Represents the allocation, i.e.
static void print(Content *content)
@ WIDGET_OOF_REF
reference to a widget out of flow (OOF); this widget (containing this content) is only the generator ...
@ INVALID
can be used internally, but should never be exposed, e.
@ WIDGET_IN_FLOW
widget in normal flow, so that this widget (containing this content) is both container (parent) and g...
@ WIDGET_OOF_CONT
widget out of flow (OOF); this widget (containing this content) is only the container (parent),...
static Content::Type maskForSelection(bool followReferences)
static void maskIntoStringBuffer(Type mask, lout::misc::StringBuffer *sb)
static void intoStringBuffer(Content *content, lout::misc::StringBuffer *sb)
WidgetReference * widgetReference
static void printMask(Type mask)