OSDLLine.h

Go to the documentation of this file.
00001 #ifndef OSDL_LINE_H_
00002 #define OSDL_LINE_H_
00003 
00004 
00005 #include "OSDLTypes.h"   // for Coordinate, etc.
00006 #include "OSDLPixel.h"   // for Pixels::put, Pixels::Pixel
00007 
00008 
00009 
00010 namespace OSDL
00011 {
00012 
00013     
00014     namespace Video
00015     {
00016 
00017 
00018         // Lines are drawn into Surfaces.
00019         class Surface ;
00020                 
00021         
00022         namespace TwoDimensional
00023         {
00024         
00025         
00026             class Point2D ;
00027             
00028         
00043             namespace Line
00044             {
00045     
00046     
00047                 /*
00048                  * Methods could be inlined in a dedicated file for faster
00049                  * processing.
00050                  *
00051                  */
00052     
00053     
00074                 OSDL_DLL bool drawHorizontal( Surface & targetSurface, 
00075                     Coordinate xStart, Coordinate xStop, Coordinate y, 
00076                     Pixels::ColorElement red, Pixels::ColorElement green, 
00077                     Pixels::ColorElement blue, 
00078                     Pixels::ColorElement alpha = Pixels::AlphaOpaque )
00079                         throw() ;
00080     
00081     
00103                 OSDL_DLL bool drawHorizontal( Surface & targetSurface, 
00104                     Coordinate xStart, Coordinate xStop, Coordinate y, 
00105                     Pixels::PixelColor actualColor ) throw() ;
00106     
00107     
00128                 OSDL_DLL bool drawHorizontal( Surface & targetSurface, 
00129                     Coordinate xStart, Coordinate xStop, Coordinate y, 
00130                     Pixels::ColorDefinition = Pixels::White ) throw() ;
00131     
00132     
00153                 OSDL_DLL bool drawVertical( Surface & targetSurface, 
00154                     Coordinate x, Coordinate yStart, Coordinate yStop, 
00155                     Pixels::ColorElement red, Pixels::ColorElement green, 
00156                     Pixels::ColorElement blue, 
00157                     Pixels::ColorElement alpha = Pixels::AlphaOpaque )
00158                         throw() ;
00159     
00160     
00181                 OSDL_DLL bool drawVertical( Surface & targetSurface, 
00182                     Coordinate x, Coordinate yStart, Coordinate yStop, 
00183                     Pixels::ColorDefinition = Pixels::White )
00184                     throw() ;
00185 
00186 
00187                 /*
00188                  * There is no drawVertical with PixelColor, as the SDL_gfx 
00189                  * back-end does not provide it.
00190                  *
00191                  */
00192                 
00193                 
00214                 OSDL_DLL bool draw( Surface & targetSurface, 
00215                     Coordinate xStart, Coordinate yStart, 
00216                     Coordinate xStop, Coordinate yStop, 
00217                     Pixels::ColorElement red, Pixels::ColorElement green, 
00218                     Pixels::ColorElement blue, 
00219                     Pixels::ColorElement alpha = Pixels::AlphaOpaque )
00220                         throw() ;
00221     
00222     
00243                 OSDL_DLL bool draw( Surface & targetSurface, 
00244                     Coordinate xStart, Coordinate yStart, 
00245                     Coordinate xStop, Coordinate yStop, 
00246                     Pixels::ColorDefinition colorDef = Pixels::White )
00247                         throw() ;
00248                     
00249                     
00270                 OSDL_DLL bool draw( Surface & targetSurface, 
00271                     Point2D & firstPoint, Point2D & secondPoint,
00272                     Pixels::ColorElement red, Pixels::ColorElement green, 
00273                     Pixels::ColorElement blue, 
00274                     Pixels::ColorElement alpha = Pixels::AlphaOpaque )
00275                         throw() ;
00276                     
00277                     
00298                 OSDL_DLL bool draw( Surface & targetSurface, 
00299                     Point2D & firstPoint, Point2D & secondPoint,
00300                     Pixels::ColorDefinition colorDef = Pixels::White ) throw() ;
00301                 
00302                 
00320                 OSDL_DLL bool drawCross( Surface & targetSurface, 
00321                     const Point2D & center,
00322                     Pixels::ColorDefinition colorDef = Pixels::White, 
00323                     Length squareEdge = 5 ) throw() ;
00324                     
00325                     
00343                 OSDL_DLL bool drawCross( Surface & targetSurface, 
00344                     Coordinate xCenter, Coordinate yCenter,
00345                     Pixels::ColorDefinition colorDef = Pixels::White, 
00346                     Length squareEdge = 5 ) throw() ;
00347                     
00348                 
00349                 
00350             }   
00351                 
00352         }
00353         
00354     }
00355     
00356 }
00357 
00358 
00359 #endif // OSDL_LINE_H_
00360 

Generated on Fri Mar 30 14:46:59 2007 for OSDL by  doxygen 1.5.1