Guiliani  Version 2.5 revision 7293 (documentation build 13)
GUILayerConfig.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#ifndef GUILAYERCONFIG__H_
11#define GUILAYERCONFIG__H_
12
13#include "eC_Types.h"
14
15#include "GUIObject.h"
16#include "GUICommonEnums.h"
17
18static const eC_UInt cuiMaxNumberOfBuffers = 2;
19
22enum LayerUpdate_t
23{
24 LU_UNUSED = 0,
25 LU_VISIBILITY,
26 LU_POSITION,
27 LU_SIZE,
28 LU_ALPHA,
29 LU_CHROMAKEY,
30 LU_CLIPRECT,
31 LU_NUM
32};
33
37{
47 const eC_UInt& uiLayerID,
48 const CGUICommonEnums::ImageType_t& ePixFormat,
49 const eC_UInt& uiWidth, const eC_UInt& uiHeight,
50 const eC_UInt& uiNumBuffers,
51 void** ppkBuffers)
52 {
53 m_uiLayerID = uiLayerID;
54 m_bMainLayer = true;
55 m_ePixFormat = ePixFormat;
56 m_uiNumBuffers = uiNumBuffers;
57 for (eC_UInt uiBufferIndex = 0; uiBufferIndex < cuiMaxNumberOfBuffers; ++uiBufferIndex)
58 m_pkBuffers[uiBufferIndex] = NULL;
59 if (NULL != ppkBuffers)
60 {
61 for (eC_UInt uiBufferIndex = 0; uiBufferIndex < uiNumBuffers; ++uiBufferIndex)
62 {
63 m_pkBuffers[uiBufferIndex] = ppkBuffers[uiBufferIndex];
64 }
65 }
66
67 m_pkRenderBuffer = NULL;
68 m_pkDisplayBuffer = NULL;
69 m_bCached = true;
70 m_iXPos = 0;
71 m_iYPos = 0;
72 m_uiWidth = uiWidth;
73 m_uiHeight = uiHeight;
74 m_uiPaddedWidth = uiWidth;
75 m_ubAlpha = 255;
76 m_bVisible = true;
79 m_uiVisibleWidth = uiWidth;
80 m_uiVisibleHeight = uiHeight;
81 m_bChromaKeyActive = false;
82 m_uiChromaKey = 0;
85 m_bModified = false;
86 }
87
91 {
92 m_uiLayerID = 0;
93 m_bMainLayer = false;
94 m_ePixFormat = CGUICommonEnums::IMAGE_FORMAT;
96 for (eC_UInt uiBufferIndex = 0; uiBufferIndex < cuiMaxNumberOfBuffers; ++uiBufferIndex)
97 m_pkBuffers[uiBufferIndex] = NULL;
98 m_pkRenderBuffer = NULL;
99 m_pkDisplayBuffer = NULL;
100 m_bCached = false;
101 m_iXPos = 0;
102 m_iYPos = 0;
103 m_uiWidth = 0;
104 m_uiHeight = 0;
105 m_uiPaddedWidth = 0;
106 m_ubAlpha = 255;
107 m_bVisible = false;
108 m_iVisibleXPos = 0;
109 m_iVisibleYPos = 0;
112 m_bChromaKeyActive = false;
113 m_uiChromaKey = 0;
115 m_pkConnectedObject = NULL;
116 m_bModified = false;
117 }
118
122 eC_UInt GetBPP()
123 {
124 switch (m_ePixFormat)
125 {
126 case CGUICommonEnums::RGB_565:
127 return 16;
128
129 case CGUICommonEnums::RGB_8888:
130 case CGUICommonEnums::RGBA_8888:
131 return 32;
132
133 default:
134 return 0;
135 }
136 }
137
138 eC_UInt m_uiLayerID;
139 eC_Bool m_bMainLayer;
142 volatile void* m_pkBuffers[cuiMaxNumberOfBuffers];
145 eC_Bool m_bCached;
146 eC_Int m_iXPos;
147 eC_Int m_iYPos;
148 eC_UInt m_uiWidth;
149 eC_UInt m_uiHeight;
151 eC_UByte m_ubAlpha;
152 eC_Bool m_bVisible;
161 eC_Bool m_bModified;
162};
163
164#endif
ImageType_t
Definition: GUICommonEnums.h:80
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:79
Definition: GUILayerConfig.h:37
eC_UInt GetBPP()
Definition: GUILayerConfig.h:122
eC_Int m_iXPos
x-position
Definition: GUILayerConfig.h:146
void * m_pkDisplayBuffer
current buffer for display
Definition: GUILayerConfig.h:144
LayerConfiguration_t()
Definition: GUILayerConfig.h:90
eC_UInt m_uiVisibleWidth
visible horizontal portion of the layer
Definition: GUILayerConfig.h:155
eC_Int m_iVisibleXPos
first visible horizontal pixel
Definition: GUILayerConfig.h:153
eC_UInt m_uiPaddedWidth
padded width if platform needs this
Definition: GUILayerConfig.h:150
eC_UByte m_ubAlpha
alpha-value for layer
Definition: GUILayerConfig.h:151
CGUICommonEnums::ImageType_t m_ePixFormat
pixelformat
Definition: GUILayerConfig.h:140
eC_Int m_iYPos
y-position
Definition: GUILayerConfig.h:147
eC_UInt m_uiWidth
width
Definition: GUILayerConfig.h:148
void * m_pkRenderBuffer
current buffer for rendering
Definition: GUILayerConfig.h:143
LayerConfiguration_t(const eC_UInt &uiLayerID, const CGUICommonEnums::ImageType_t &ePixFormat, const eC_UInt &uiWidth, const eC_UInt &uiHeight, const eC_UInt &uiNumBuffers, void **ppkBuffers)
Definition: GUILayerConfig.h:46
eC_Bool m_bCached
buffers are cached, if platform needs this
Definition: GUILayerConfig.h:145
eC_Bool m_bChromaKeyActive
chroma-key is active
Definition: GUILayerConfig.h:157
eC_Bool m_bMainLayer
if true the layer is used for the screen
Definition: GUILayerConfig.h:139
eC_UInt m_uiLayerID
ID to access layer.
Definition: GUILayerConfig.h:138
eC_Int m_iVisibleYPos
first visible vertical pixel
Definition: GUILayerConfig.h:154
eC_Bool m_bModified
is layer modified?
Definition: GUILayerConfig.h:161
volatile void * m_pkBuffers[cuiMaxNumberOfBuffers]
buffer
Definition: GUILayerConfig.h:142
eC_UInt m_uiChromaKey
chroma-key
Definition: GUILayerConfig.h:158
eC_Bool m_bVisible
layer is visible
Definition: GUILayerConfig.h:152
eC_UInt m_uiVisibleHeight
visible vertical portion of the layer
Definition: GUILayerConfig.h:156
eC_UByte m_ubChromaKeyAlpha
chroma-key replace alpha
Definition: GUILayerConfig.h:159
CGUIObject * m_pkConnectedObject
connected object
Definition: GUILayerConfig.h:160
eC_UInt m_uiNumBuffers
number of buffers
Definition: GUILayerConfig.h:141
eC_UInt m_uiHeight
height
Definition: GUILayerConfig.h:149