dillo  3.0.5
About: dillo is a small, fast, extensible Web browser particularly suitable for older or smaller computers and embedded systems (but only limited or no support for frames, CSS, JavaScript, Java).
  Fossies Dox: dillo-3.0.5.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

dw::core::Polygon Class Reference

dw::core::Shape implemtation for polygons. More...

#include <types.hh>

Inheritance diagram for dw::core::Polygon:
[legend]
Collaboration diagram for dw::core::Polygon:
[legend]

Public Member Functions

 Polygon ()
 
 ~Polygon ()
 
void draw (core::View *view, core::style::Style *style, int x, int y)
 
void addPoint (int x, int y)
 
bool isPointWithin (int x, int y)
 
- Public Member Functions inherited from lout::object::Object
virtual ~Object ()
 The destructor is defined as virtual (but not abstract), so that destruction of Object's works properly. More...
 
virtual bool equals (Object *other)
 Returns, whether two objects are equal. More...
 
virtual int hashValue ()
 Return a hash value for the object. More...
 
virtual Objectclone ()
 Return an exact copy of the object. More...
 
virtual void intoStringBuffer (misc::StringBuffer *sb)
 Store a textual representation of the object in a misc::StringBuffer. More...
 
const char * toString ()
 Use object::Object::intoStringBuffer to return a textual representation of the object. More...
 
virtual size_t sizeOf ()
 Return the number of bytes, this object totally uses. More...
 

Private Member Functions

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 y of the vector product is 0, too). More...
 
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, determined by two points (bx1, by1) and (bx2, by2). More...
 
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, by1) and (bx2, by2). More...
 

Private Attributes

lout::misc::SimpleVector< Point > * points
 
int minx
 
int miny
 
int maxx
 
int maxy
 

Detailed Description

dw::core::Shape implemtation for polygons.

Definition at line 104 of file types.hh.

Constructor & Destructor Documentation

◆ Polygon()

dw::core::Polygon::Polygon ( )

Definition at line 124 of file types.cc.

◆ ~Polygon()

dw::core::Polygon::~Polygon ( )

Definition at line 131 of file types.cc.

Member Function Documentation

◆ addPoint()

void dw::core::Polygon::addPoint ( int  x,
int  y 
)

Definition at line 156 of file types.cc.

References lout::misc::max(), and lout::misc::min().

Referenced by Html_tag_content_area().

◆ draw()

void dw::core::Polygon::draw ( core::View view,
core::style::Style style,
int  x,
int  y 
)
virtual

◆ isPointWithin()

bool dw::core::Polygon::isPointWithin ( int  x,
int  y 
)
virtual

Implements dw::core::Shape.

Definition at line 200 of file types.cc.

◆ linesCross()

bool dw::core::Polygon::linesCross ( int  ax1,
int  ay1,
int  ax2,
int  ay2,
int  bx1,
int  by1,
int  bx2,
int  by2 
)
private

Return, whether the line, limited by (ax1, ay1) and (ax2, ay2), crosses the line, limited by (bx1, by1) and (bx2, by2).

Definition at line 189 of file types.cc.

References _MSG.

◆ linesCross0()

bool dw::core::Polygon::linesCross0 ( int  ax1,
int  ay1,
int  ax2,
int  ay2,
int  bx1,
int  by1,
int  bx2,
int  by2 
)
private

Return, whether the line, limited by (ax1, ay1) and (ax2, ay2), crosses the unlimited line, determined by two points (bx1, by1) and (bx2, by2).

TODO Some more description

Definition at line 173 of file types.cc.

◆ zOfVectorProduct()

int dw::core::Polygon::zOfVectorProduct ( int  x1,
int  y1,
int  x2,
int  y2 
)
inlineprivate

Return the z-coordinate of the vector product of two vectors, whose z-coordinate is 0 (so that x and y of the vector product is 0, too).

Definition at line 115 of file types.hh.

Member Data Documentation

◆ maxx

int dw::core::Polygon::maxx
private

Definition at line 108 of file types.hh.

◆ maxy

int dw::core::Polygon::maxy
private

Definition at line 108 of file types.hh.

◆ minx

int dw::core::Polygon::minx
private

Definition at line 108 of file types.hh.

◆ miny

int dw::core::Polygon::miny
private

Definition at line 108 of file types.hh.

◆ points

lout::misc::SimpleVector<Point>* dw::core::Polygon::points
private

Definition at line 107 of file types.hh.


The documentation for this class was generated from the following files: