MHEG5
15.3.0
|
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