Display auto detect implementation.
2 #include "MiniDisplay.h"
3 #include "FutabaGP1212A01.h"
4 #include "FutabaGP1212A02.h"
7 MiniDisplayDevice MiniDisplayOpen(TMiniDisplayType aType, bool aAutoDetect)
9 GraphicDisplay* device=NULL;
13 case EMiniDisplayAutoDetect:
14 case EMiniDisplayFutabaGP1212A01:
15 device=new GP1212A01A();
18 case EMiniDisplayFutabaGP1212A02:
19 device=new GP1212A02A();
22 case EMiniDisplayAutoDetectFailed:
23 //Auto detect sequence failed
28 int success = device->Open();
35 //Go recursive for auto detect
36 int typeValue=(int)aType;
38 TMiniDisplayType nextType=(TMiniDisplayType)typeValue;
39 return MiniDisplayOpen(nextType,aAutoDetect);
47 //Open & Close functions
48 MiniDisplayDevice MiniDisplayOpen(TMiniDisplayType aType)
50 bool autoDetect=aType==EMiniDisplayAutoDetect;
51 return MiniDisplayOpen(EMiniDisplayFutabaGP1212A01,autoDetect);
59 void MiniDisplayClose(MiniDisplayDevice aDevice)
61 delete ((GraphicDisplay*)aDevice);
65 void MiniDisplayClear(MiniDisplayDevice aDevice)
72 ((GraphicDisplay*)aDevice)->Clear();
76 void MiniDisplayFill(MiniDisplayDevice aDevice)
83 ((GraphicDisplay*)aDevice)->Fill();
87 void MiniDisplaySwapBuffers(MiniDisplayDevice aDevice)
94 ((GraphicDisplay*)aDevice)->SwapBuffers();
97 //-------------------------------------------------------------
98 int MiniDisplayMaxBrightness(MiniDisplayDevice aDevice)
105 return ((GraphicDisplay*)aDevice)->MaxBrightness();
108 //-------------------------------------------------------------
109 int MiniDisplayMinBrightness(MiniDisplayDevice aDevice)
116 return ((GraphicDisplay*)aDevice)->MinBrightness();
119 //-------------------------------------------------------------
120 void MiniDisplaySetBrightness(MiniDisplayDevice aDevice, int aBrightness)
127 ((GraphicDisplay*)aDevice)->SetBrightness(aBrightness);
130 //-------------------------------------------------------------
131 int MiniDisplayWidthInPixels(MiniDisplayDevice aDevice)
138 return ((GraphicDisplay*)aDevice)->WidthInPixels();
141 //-------------------------------------------------------------
142 int MiniDisplayHeightInPixels(MiniDisplayDevice aDevice)
149 return ((GraphicDisplay*)aDevice)->HeightInPixels();
152 //-------------------------------------------------------------
153 void MiniDisplaySetPixel(MiniDisplayDevice aDevice, int aX, int aY, int aValue)
155 //aValue&=0x00FFFFFF; //Filter out alpha component
156 return ((GraphicDisplay*)aDevice)->SetPixel(aX,aY,aValue);
159 //-------------------------------------------------------------
160 wchar_t* MiniDisplayVendor(MiniDisplayDevice aDevice)
162 return ((GraphicDisplay*)aDevice)->Vendor();
165 //-------------------------------------------------------------
166 wchar_t* MiniDisplayProduct(MiniDisplayDevice aDevice)
168 return ((GraphicDisplay*)aDevice)->Product();
171 //-------------------------------------------------------------
172 wchar_t* MiniDisplaySerialNumber(MiniDisplayDevice aDevice)
174 return ((GraphicDisplay*)aDevice)->SerialNumber();
177 //-------------------------------------------------------------
178 void MiniDisplayRequest(MiniDisplayDevice aDevice, TMiniDisplayRequest aRequest)
180 ((GraphicDisplay*)aDevice)->Request(aRequest);
183 //-------------------------------------------------------------
184 bool MiniDisplayRequestPending(MiniDisplayDevice aDevice)
186 return ((GraphicDisplay*)aDevice)->RequestPending();
189 //-------------------------------------------------------------
190 TMiniDisplayRequest MiniDisplayCurrentRequest(MiniDisplayDevice aDevice)
192 return ((GraphicDisplay*)aDevice)->CurrentRequest();
195 //-------------------------------------------------------------
196 void MiniDisplayCancelRequest(MiniDisplayDevice aDevice)
198 ((GraphicDisplay*)aDevice)->CancelRequest();
201 //-------------------------------------------------------------
202 TMiniDisplayRequest MiniDisplayAttemptRequestCompletion(MiniDisplayDevice aDevice)
204 return ((GraphicDisplay*)aDevice)->AttemptRequestCompletion();
207 //-------------------------------------------------------------
208 char* MiniDisplayDeviceId(MiniDisplayDevice aDevice)
210 return ((GraphicDisplay*)aDevice)->DeviceId();
213 //-------------------------------------------------------------
214 char* MiniDisplayFirmwareRevision(MiniDisplayDevice aDevice)
216 return ((GraphicDisplay*)aDevice)->FirmwareRevision();
219 //-------------------------------------------------------------
220 bool MiniDisplayPowerSupplyStatus(MiniDisplayDevice aDevice)
222 return ((GraphicDisplay*)aDevice)->IsPowerOn();
225 //-------------------------------------------------------------
226 void MiniDisplayPowerOn(MiniDisplayDevice aDevice)
228 ((GraphicDisplay*)aDevice)->TurnPowerOn();
231 //-------------------------------------------------------------
232 void MiniDisplayPowerOff(MiniDisplayDevice aDevice)
234 ((GraphicDisplay*)aDevice)->TurnPowerOff();
237 //-------------------------------------------------------------
238 bool MiniDisplaySupportPowerOnOff(MiniDisplayDevice aDevice)
240 return ((GraphicDisplay*)aDevice)->SupportPowerOnOff();
243 //-------------------------------------------------------------
244 void MiniDisplayShowClock(MiniDisplayDevice aDevice)
246 ((GraphicDisplay*)aDevice)->ShowClock();
249 //-------------------------------------------------------------
250 void MiniDisplayHideClock(MiniDisplayDevice aDevice)
252 ((GraphicDisplay*)aDevice)->HideClock();
255 //-------------------------------------------------------------
256 bool MiniDisplaySupportClock(MiniDisplayDevice aDevice)
258 return ((GraphicDisplay*)aDevice)->SupportClock();