MHEG5  15.3.0
source/graphics/inc/dla_inl.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
00003  * Copyright © 2008 Ocean Blue Software Ltd
00004  *
00005  * This file is part of a DTVKit Software Component
00006  * You are permitted to copy, modify or distribute this file subject to the terms
00007  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
00008  * 
00009  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
00010  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
00011  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
00012  * 
00013  * If you or your organisation is not a member of DTVKit then you have access
00014  * to this source code outside of the terms of the licence agreement
00015  * and you are expected to delete this and any associated files immediately.
00016  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
00017  *******************************************************************************/
00025 #ifndef DLA_PRE_INL_H
00026 #define DLA_PRE_INL_H
00027 
00028 #include "osdtypes.h"
00029 
00030 /*---Global type defs for public use-------------------------------------------*/
00031 
00032 /* Describes a single point (used for a single vertex) */
00033 typedef struct _point
00034 {
00035    S16BIT x;
00036    S16BIT y;
00037 } S_POINT;
00038 
00039 typedef struct point_list
00040 {
00041    struct point_list *next;
00042    S_POINT point;
00043 } S_POINT_LIST;
00044 
00045 typedef struct polygon
00046 {
00047    S_POINT_LIST *point_list;
00048    U16BIT num_points;
00049 } S_POLYGON;
00050 
00051 #endif /* DLA_POINTS_H */
00052 
00053 
00054 /* pre-processor mechanism so multiple inclusions don't cause compilation error*/
00055 #ifndef DLA_INL_H
00056 #define DLA_INL_H
00057 
00058 typedef struct DLA_struct
00059 {
00060    U16BIT width;
00061    U16BIT height;
00062    DLAColor *cols;
00063    void *hw_handle;
00064    U32BIT bf_stride;
00065    U8BIT opaque;
00066    U8BIT srf_type;
00067 } DLA_Surface;
00068 
00069 /*---Global Function prototypes for public use---------------------------------*/
00070 
00081 void DLA_FUNCTION(Line)( DLA_Surface *canvas,
00082    S16BIT x1, S16BIT y1, S16BIT x2, S16BIT y2, U16BIT width, DLAColor colour);
00083 
00093 void DLA_FUNCTION(Polygon)( DLA_Surface *canvas,
00094    S_POLYGON poly, U16BIT width, DLAColor fill_colour, DLAColor line_colour);
00095 
00104 void DLA_FUNCTION(Polyline)( DLA_Surface *canvas,
00105    S_POLYGON poly, U16BIT width, DLAColor colour );
00106 
00120 void DLA_FUNCTION(Rectangle)( DLA_Surface *canvas,
00121    S16BIT x1, S16BIT y1, S16BIT x2, S16BIT y2, U16BIT x_lw, U16BIT y_lw,
00122    DLAColor fill_colour, DLAColor line_colour );
00123 
00135 void DLA_FUNCTION(Ellipse)( DLA_Surface *canvas,
00136    S16BIT x, S16BIT y, U16BIT w, U16BIT h, U16BIT width, DLAColor fill_colour, DLAColor line_colour);
00137 
00150 void DLA_FUNCTION(Arc)( DLA_Surface *canvas, S16BIT x,
00151    S16BIT y, U16BIT w, U16BIT h, U16BIT start, U16BIT arc, U16BIT width, DLAColor colour );
00152 
00167 void DLA_FUNCTION(Sector)( DLA_Surface *canvas, S16BIT x,
00168    S16BIT y, U16BIT w, U16BIT h, U16BIT start, U16BIT arc, U16BIT width,
00169    DLAColor fill_colour, DLAColor line_colour );
00170 
00180 void DLA_FUNCTION(Border)( DLA_Surface *canvas, U16BIT x1_bw, U16BIT y1_bw,
00181    U16BIT x2_bw, U16BIT y2_bw, DLAColor line_colour );
00182 
00192 #endif /* DLA_INL_H */
00193 
 All Data Structures Files Functions Variables Typedefs Defines