MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
dla_inl.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2008 Ocean Blue Software Ltd
4  *
5  * This file is part of a DTVKit Software Component
6  * You are permitted to copy, modify or distribute this file subject to the terms
7  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
8  *
9  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
10  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
11  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
12  *
13  * If you or your organisation is not a member of DTVKit then you have access
14  * to this source code outside of the terms of the licence agreement
15  * and you are expected to delete this and any associated files immediately.
16  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
17  *******************************************************************************/
25 #ifndef DLA_PRE_INL_H
26 #define DLA_PRE_INL_H
27 
28 #include "osdtypes.h"
29 
30 /*---Global type defs for public use-------------------------------------------*/
31 
32 /* Describes a single point (used for a single vertex) */
33 typedef struct _point
34 {
35  S16BIT x;
36  S16BIT y;
37 } S_POINT;
38 
39 typedef struct point_list
40 {
41  struct point_list *next;
42  S_POINT point;
43 } S_POINT_LIST;
44 
45 typedef struct polygon
46 {
48  U16BIT num_points;
49 } S_POLYGON;
50 
51 #endif /* DLA_POINTS_H */
52 
53 
54 /* pre-processor mechanism so multiple inclusions don't cause compilation error*/
55 #ifndef DLA_INL_H
56 #define DLA_INL_H
57 
58 typedef struct DLA_struct
59 {
60  U16BIT width;
61  U16BIT height;
62  DLAColor *cols;
63  void *hw_handle;
64  U32BIT bf_stride;
65  U8BIT opaque;
66  U8BIT srf_type;
67 } DLA_Surface;
68 
69 /*---Global Function prototypes for public use---------------------------------*/
70 
81 void DLA_FUNCTION(Line)( DLA_Surface *canvas,
82  S16BIT x1, S16BIT y1, S16BIT x2, S16BIT y2, U16BIT width, DLAColor colour);
83 
93 void DLA_FUNCTION(Polygon)( DLA_Surface *canvas,
94  S_POLYGON poly, U16BIT width, DLAColor fill_colour, DLAColor line_colour);
95 
104 void DLA_FUNCTION(Polyline)( DLA_Surface *canvas,
105  S_POLYGON poly, U16BIT width, DLAColor colour );
106 
120 void DLA_FUNCTION(Rectangle)( DLA_Surface *canvas,
121  S16BIT x1, S16BIT y1, S16BIT x2, S16BIT y2, U16BIT x_lw, U16BIT y_lw,
122  DLAColor fill_colour, DLAColor line_colour );
123 
135 void DLA_FUNCTION(Ellipse)( DLA_Surface *canvas,
136  S16BIT x, S16BIT y, U16BIT w, U16BIT h, U16BIT width, DLAColor fill_colour, DLAColor line_colour);
137 
150 void DLA_FUNCTION(Arc)( DLA_Surface *canvas, S16BIT x,
151  S16BIT y, U16BIT w, U16BIT h, U16BIT start, U16BIT arc, U16BIT width, DLAColor colour );
152 
167 void DLA_FUNCTION(Sector)( DLA_Surface *canvas, S16BIT x,
168  S16BIT y, U16BIT w, U16BIT h, U16BIT start, U16BIT arc, U16BIT width,
169  DLAColor fill_colour, DLAColor line_colour );
170 
180 void DLA_FUNCTION(Border)( DLA_Surface *canvas, U16BIT x1_bw, U16BIT y1_bw,
181  U16BIT x2_bw, U16BIT y2_bw, DLAColor line_colour );
182 
192 #endif /* DLA_INL_H */
193 
void DLA_FUNCTION() Polyline(DLA_Surface *canvas, S_POLYGON poly, U16BIT width, DLAColor colour)
Draw a polyline (sequence of connected lines) on the canvas.
Definition: mg_dla.inl:3840
Definition: dla_inl.h:58
void DLA_FUNCTION() Sector(DLA_Surface *canvas, S16BIT x, S16BIT y, U16BIT w, U16BIT h, U16BIT start, U16BIT arc, U16BIT width, DLAColor fill_colour, DLAColor line_colour)
Draw a sector ("pie slice") on the canvas.
Definition: mg_dla.inl:3992
void DLA_FUNCTION() Polygon(DLA_Surface *canvas, S_POLYGON poly, U16BIT width, DLAColor fill_colour, DLAColor line_colour)
Draw a polygon on the canvas.
Definition: mg_dla.inl:3789
void DLA_FUNCTION() Rectangle(DLA_Surface *canvas, S16BIT x1, S16BIT y1, S16BIT x2, S16BIT y2, U16BIT x_lw, U16BIT y_lw, DLAColor fill_colour, DLAColor line_colour)
Draw a rectangle on the canvas.
Definition: mg_dla.inl:3883
Definition: dla_inl.h:45
void DLA_FUNCTION() Border(DLA_Surface *canvas, U16BIT x1_bw, U16BIT y1_bw, U16BIT x2_bw, U16BIT y2_bw, DLAColor line_colour)
Draw a border around the canvas.
Definition: mg_dla.inl:4032
void DLA_FUNCTION() Arc(DLA_Surface *canvas, S16BIT x, S16BIT y, U16BIT w, U16BIT h, U16BIT start, U16BIT arc, U16BIT width, DLAColor colour)
Draw an arc on the canvas.
Definition: mg_dla.inl:3964
Definition: dla_inl.h:33
Definition: dla_inl.h:39
Define OSD types.
void DLA_FUNCTION() Line(DLA_Surface *canvas, S16BIT x1, S16BIT y1, S16BIT x2, S16BIT y2, U16BIT width, DLAColor colour)
Draw a line on the canvas.
Definition: mg_dla.inl:3768
void DLA_FUNCTION() Ellipse(DLA_Surface *canvas, S16BIT x, S16BIT y, U16BIT w, U16BIT h, U16BIT width, DLAColor fill_colour, DLAColor line_colour)
Draw an ellipse ("oval") on the canvas.
Definition: mg_dla.inl:3937