µGFX  2.9
version 2.9
gdisp_options.h
Go to the documentation of this file.
1 /*
2  * This file is subject to the terms of the GFX License. If a copy of
3  * the license was not distributed with this file, you can obtain one at:
4  *
5  * http://ugfx.io/license.html
6  */
7 
8 /**
9  * @file src/gdisp/gdisp_options.h
10  * @brief GDISP sub-system options header file.
11  *
12  * @addtogroup GDISP
13  * @{
14  */
15 
16 #ifndef _GDISP_OPTIONS_H
17 #define _GDISP_OPTIONS_H
18 
19 /**
20  * @name GDISP Functionality to be included
21  * @{
22  */
23  /**
24  * @brief Should drawing operations be automatically flushed.
25  * @details Defaults to GFXOFF
26  * @note If set to GFXOFF and the controller requires flushing
27  * then the application must manually call @p gdispGFlush().
28  * Setting this to GFXON causes GDISP to automatically flush
29  * after each drawing operation. Note this may be slow but enables
30  * an application to avoid having to manually call the flush routine.
31  * @note If GFXON and GDISP_NEED_TIMERFLUSH is also GFXON, this takes precedence.
32  * @note Most controllers don't need flushing which is why this is set to
33  * GFXOFF by default.
34  */
35  #ifndef GDISP_NEED_AUTOFLUSH
36  #define GDISP_NEED_AUTOFLUSH GFXOFF
37  #endif
38  /**
39  * @brief Should drawing operations be automatically flushed on a timer.
40  * @details Defaults to GFXOFF, Can be set to GFXOFF or a timer period in milliseconds.
41  * @note The period should not be set too short or it will consume all your CPU. A
42  * value between 250 and 500 milliseconds would probably be suitable.
43  * @note If GFXON and GDISP_NEED_AUTOFLUSH is also GFXON, this is ineffective.
44  * @note Most controllers don't need flushing which is why this is set to
45  * GFXOFF by default.
46  */
47  #ifndef GDISP_NEED_TIMERFLUSH
48  #define GDISP_NEED_TIMERFLUSH GFXOFF
49  #endif
50  /**
51  * @brief Should all operations be clipped to the screen and colors validated.
52  * @details Defaults to GFXON.
53  * @note If this is GFXOFF, any operations that extend beyond the
54  * edge of the screen will have undefined results. Any
55  * out-of-range colors will produce undefined results.
56  * @note This should always be left as the default (GFXON) unless you
57  * are a maniac for speed and you have thoroughly tested your code
58  * and it never overwrites the edges of the screen.
59  * @note Setting GDISP_NEED_CLIP to GFXON internally uses the same mechanism
60  * as this validation. There is no advantage in setting this GFXOFF if
61  * GDISP_NEED_CLIP is GFXON.
62  */
63  #ifndef GDISP_NEED_VALIDATION
64  #define GDISP_NEED_VALIDATION GFXON
65  #endif
66  /**
67  * @brief Are clipping functions needed.
68  * @details Defaults to GFXON
69  */
70  #ifndef GDISP_NEED_CLIP
71  #define GDISP_NEED_CLIP GFXON
72  #endif
73  /**
74  * @brief Streaming functions are needed
75  * @details Defaults to GFXOFF.
76  */
77  #ifndef GDISP_NEED_STREAMING
78  #define GDISP_NEED_STREAMING GFXOFF
79  #endif
80  /**
81  * @brief Are text functions needed.
82  * @details Defaults to GFXOFF
83  * @note You must also define at least one font.
84  */
85  #ifndef GDISP_NEED_TEXT
86  #define GDISP_NEED_TEXT GFXOFF
87  #endif
88  /**
89  * @brief Are circle functions needed.
90  * @details Defaults to GFXOFF
91  * @note Uses integer algorithms only. It does not use any trig or floating point.
92  */
93  #ifndef GDISP_NEED_CIRCLE
94  #define GDISP_NEED_CIRCLE GFXOFF
95  #endif
96  /**
97  * @brief Are dual circle functions needed (one circle inside another).
98  * @details Defaults to GFXOFF
99  * @note Uses integer algorithms only. It does not use any trig or floating point.
100  */
101  #ifndef GDISP_NEED_DUALCIRCLE
102  #define GDISP_NEED_DUALCIRCLE GFXOFF
103  #endif
104  /**
105  * @brief Are ellipse functions needed.
106  * @details Defaults to GFXOFF
107  * @note Uses integer algorithms only. It does not use any trig or floating point.
108  */
109  #ifndef GDISP_NEED_ELLIPSE
110  #define GDISP_NEED_ELLIPSE GFXOFF
111  #endif
112  /**
113  * @brief Are arc sector functions needed.
114  * @details Defaults to GFXOFF
115  * @note Uses integer algorithms only. It does not use any trig or floating point.
116  */
117  #ifndef GDISP_NEED_ARCSECTORS
118  #define GDISP_NEED_ARCSECTORS GFXOFF
119  #endif
120  /**
121  * @brief Are arc functions needed.
122  * @details Defaults to GFXOFF
123  * @note This can be compiled using fully integer mathematics by
124  * defining GFX_USE_GMISC and GMISC_NEED_FIXEDTRIG as GFXON.
125  * @note This can be compiled to use floating point but no trig functions
126  * by defining GFX_USE_GMISC and GMISC_NEED_FASTTRIG as GFXON.
127  * @note If neither of the above are defined it requires the maths library
128  * to be included in the link to provide floating point and trig support.
129  * ie include -lm in your compiler flags.
130  */
131  #ifndef GDISP_NEED_ARC
132  #define GDISP_NEED_ARC GFXOFF
133  #endif
134  /**
135  * @brief Are convex polygon functions needed.
136  * @details Defaults to GFXOFF
137  * @note Convex polygons are those that have no internal angles. That is;
138  * you can draw a line from any point on the polygon to any other point
139  * on the polygon without it going outside the polygon.
140  */
141  #ifndef GDISP_NEED_CONVEX_POLYGON
142  #define GDISP_NEED_CONVEX_POLYGON GFXOFF
143  #endif
144  /**
145  * @brief Are scrolling functions needed.
146  * @details Defaults to GFXOFF
147  * @note This function must be supported by the low level GDISP driver
148  * you have included in your project. If it isn't, defining this
149  * option will cause a compile error.
150  */
151  #ifndef GDISP_NEED_SCROLL
152  #define GDISP_NEED_SCROLL GFXOFF
153  #endif
154  /**
155  * @brief Is the capability to read pixels back needed.
156  * @details Defaults to GFXOFF
157  * @note This function must be supported by the low level GDISP driver
158  * you have included in your project. If it isn't, defining this
159  * option will cause a compile error.
160  */
161  #ifndef GDISP_NEED_PIXELREAD
162  #define GDISP_NEED_PIXELREAD GFXOFF
163  #endif
164  /**
165  * @brief Control some aspect of the hardware operation.
166  * @details Defaults to GFXOFF
167  * @note This allows control of hardware specific features such as
168  * screen rotation, backlight levels, contrast etc
169  */
170  #ifndef GDISP_NEED_CONTROL
171  #define GDISP_NEED_CONTROL GFXOFF
172  #endif
173  /**
174  * @brief Query some aspect of the hardware operation.
175  * @details Defaults to GFXOFF
176  * @note This allows query of hardware specific features
177  */
178  #ifndef GDISP_NEED_QUERY
179  #define GDISP_NEED_QUERY GFXOFF
180  #endif
181  /**
182  * @brief Is the image interface required.
183  * @details Defaults to GFXOFF
184  */
185  #ifndef GDISP_NEED_IMAGE
186  #define GDISP_NEED_IMAGE GFXOFF
187  #endif
188  /**
189  * @brief Is the image interface required.
190  * @details Defaults to GFXOFF
191  */
192  #ifndef GDISP_NEED_PIXMAP
193  #define GDISP_NEED_PIXMAP GFXOFF
194  #endif
195 /**
196  * @}
197  *
198  * @name GDISP Multi-Threading Options
199  * @{
200  */
201  /**
202  * @brief Do the drawing functions need to be thread-safe.
203  * @details Defaults to GFXOFF
204  */
205  #ifndef GDISP_NEED_MULTITHREAD
206  #define GDISP_NEED_MULTITHREAD GFXOFF
207  #endif
208 /**
209  * @}
210  *
211  * @name GDISP Optional Parameters
212  * @{
213  */
214  /**
215  * @brief Should the startup logo be displayed
216  *
217  * @details Defaults to GFXON
218  */
219  #ifndef GDISP_NEED_STARTUP_LOGO
220  #define GDISP_NEED_STARTUP_LOGO GFXON
221  #endif
222  /**
223  * @brief Define the initial background color for all displays in the system.
224  */
225  #ifndef GDISP_STARTUP_COLOR
226  #define GDISP_STARTUP_COLOR GFX_BLACK
227  #endif
228  /**
229  * @brief Define the default orientation for all displays in the system.
230  * @note GDISP_NEED_CONTROL must also be set (and the hardware must support it)
231  * @note If not specified then displays default to the native hardware orientation
232  */
233  // #define GDISP_DEFAULT_ORIENTATION gOrientationLandscape
234  /**
235  * @brief The size of pixel buffer (in pixels) used for optimization.
236  * @details Set to zero to guarantee disabling of the buffer.
237  * @note Depending on the driver and what operations the application
238  * needs, this buffer may never be allocated.
239  * @note Setting the size to zero may cause some operations to not
240  * compile eg. Scrolling if there is no hardware scroll support.
241  * @note Increasing the size will speedup certain operations
242  * at the expense of RAM.
243  * @note Currently only used to support scrolling on hardware without
244  * scrolling support, and to increase the speed of streaming
245  * operations on non-streaming hardware where there is a
246  * hardware supported bit-blit.
247  */
248  #ifndef GDISP_LINEBUF_SIZE
249  #define GDISP_LINEBUF_SIZE 128
250  #endif
251 /**
252  * @}
253  *
254  * @name GDISP Multiple Display Support
255  * @{
256  */
257  /**
258  * @brief The total number of displays using the default driver.
259  * @note If you want to use multiple displays either set GDISP_TOTAL_DISPLAYS or GDISP_DRIVER_LIST
260  * but not both.
261  */
262  #ifndef GDISP_TOTAL_DISPLAYS
263  #define GDISP_TOTAL_DISPLAYS 1
264  #endif
265  #if defined(__DOXYGEN__)
266  /**
267  * @brief The list of display drivers.
268  * @note Replace this example with your own definition in your gfxconf.h file. See the gdisp_lld.c
269  * in each driver (near the top) to get the name of the VMT for a driver.
270  * @note The same driver can occur more than once in the list to create an extra instance of that driver.
271  * @note If defining this you must also define GDISP_PIXELFORMAT for your application to use.
272  * Choose a value that is most common accross all your drivers for efficiency.
273  * @note If using this you may optionally define the GDISP_HARDWARE_xxx values as either GFXON or GFXOFF.
274  * Doing this causes GDISP to assume that all (GFXON) or none (GFXOFF) of the listed drivers have that
275  * capability. This can help improve drawing speed and efficiency.
276  */
277  #define GDISP_DRIVER_LIST GDISPVMT_Win32, GDISPVMT_SSD1963
278  #endif
279 /**
280  * @}
281  *
282  * @name GDISP Image Options
283  * @pre GDISP_NEED_IMAGE must be GFXON
284  * @{
285  */
286  /**
287  * @brief Is native image decoding required.
288  * @details Defaults to GFXOFF
289  */
290  #ifndef GDISP_NEED_IMAGE_NATIVE
291  #define GDISP_NEED_IMAGE_NATIVE GFXOFF
292  #endif
293  /**
294  * @brief Is GIF image decoding required.
295  * @details Defaults to GFXOFF
296  */
297  #ifndef GDISP_NEED_IMAGE_GIF
298  #define GDISP_NEED_IMAGE_GIF GFXOFF
299  #endif
300  /**
301  * @brief Is BMP image decoding required.
302  * @details Defaults to GFXOFF
303  */
304  #ifndef GDISP_NEED_IMAGE_BMP
305  #define GDISP_NEED_IMAGE_BMP GFXOFF
306  #endif
307  /**
308  * @brief Is JPG image decoding required.
309  * @details Defaults to GFXOFF
310  */
311  #ifndef GDISP_NEED_IMAGE_JPG
312  #define GDISP_NEED_IMAGE_JPG GFXOFF
313  #endif
314  /**
315  * @brief Is PNG image decoding required.
316  * @details Defaults to GFXOFF
317  */
318  #ifndef GDISP_NEED_IMAGE_PNG
319  #define GDISP_NEED_IMAGE_PNG GFXOFF
320  #endif
321  /**
322  * @brief Is memory accounting required during image decoding.
323  * @details Defaults to GFXOFF
324  */
325  #ifndef GDISP_NEED_IMAGE_ACCOUNTING
326  #define GDISP_NEED_IMAGE_ACCOUNTING GFXOFF
327  #endif
328 /**
329  * @}
330  *
331  * @name GDISP BMP Image Options
332  * @pre GDISP_NEED_IMAGE and GDISP_NEED_IMAGE_BMP must be GFXON
333  * @{
334  */
335  /**
336  * @brief Is BMP 1 bit per pixel (monochrome/2 color) image decoding required.
337  * @details Defaults to GFXON
338  */
339  #ifndef GDISP_NEED_IMAGE_BMP_1
340  #define GDISP_NEED_IMAGE_BMP_1 GFXON
341  #endif
342  /**
343  * @brief Is BMP 4 bits per pixel (16 color) image decoding required.
344  * @details Defaults to GFXON
345  */
346  #ifndef GDISP_NEED_IMAGE_BMP_4
347  #define GDISP_NEED_IMAGE_BMP_4 GFXON
348  #endif
349  /**
350  * @brief Is BMP 4 bits per pixel (16 color) with RLE compression image decoding required.
351  * @details Defaults to GFXON
352  */
353  #ifndef GDISP_NEED_IMAGE_BMP_4_RLE
354  #define GDISP_NEED_IMAGE_BMP_4_RLE GFXON
355  #endif
356  /**
357  * @brief Is BMP 8 bits per pixel (256 color) image decoding required.
358  * @details Defaults to GFXON
359  */
360  #ifndef GDISP_NEED_IMAGE_BMP_8
361  #define GDISP_NEED_IMAGE_BMP_8 GFXON
362  #endif
363  /**
364  * @brief Is BMP 8 bits per pixel (256 color) with RLE compression image decoding required.
365  * @details Defaults to GFXON
366  */
367  #ifndef GDISP_NEED_IMAGE_BMP_8_RLE
368  #define GDISP_NEED_IMAGE_BMP_8_RLE GFXON
369  #endif
370  /**
371  * @brief Is BMP 16 bits per pixel (65536 color) image decoding required.
372  * @details Defaults to GFXON
373  */
374  #ifndef GDISP_NEED_IMAGE_BMP_16
375  #define GDISP_NEED_IMAGE_BMP_16 GFXON
376  #endif
377  /**
378  * @brief Is BMP 24 bits per pixel (true-color) image decoding required.
379  * @details Defaults to GFXON
380  */
381  #ifndef GDISP_NEED_IMAGE_BMP_24
382  #define GDISP_NEED_IMAGE_BMP_24 GFXON
383  #endif
384  /**
385  * @brief Is BMP 32 bits per pixel (true-color) image decoding required.
386  * @details Defaults to GFXON
387  */
388  #ifndef GDISP_NEED_IMAGE_BMP_32
389  #define GDISP_NEED_IMAGE_BMP_32 GFXON
390  #endif
391  /**
392  * @brief The BMP blit buffer size in pixels.
393  * @details Defaults to 32 pixels
394  * @note Bigger is faster but requires more RAM.
395  * @note This must be greater than 40 bytes and 32 pixels as we read our headers into this space as well.
396  */
397  #ifndef GDISP_IMAGE_BMP_BLIT_BUFFER_SIZE
398  #define GDISP_IMAGE_BMP_BLIT_BUFFER_SIZE 32
399  #endif
400 /**
401  * @}
402  *
403  * @name GDISP GIF Image Options
404  * @pre GDISP_NEED_IMAGE and GDISP_NEED_IMAGE_GIF must be GFXON
405  * @{
406  */
407  /**
408  * @brief The GIF blit buffer size.
409  * @details Defaults to 32
410  * @note Bigger is faster but requires more RAM.
411  */
412  #ifndef GDISP_IMAGE_GIF_BLIT_BUFFER_SIZE
413  #define GDISP_IMAGE_GIF_BLIT_BUFFER_SIZE 32
414  #endif
415 /**
416  * @}
417  *
418  * @name GDISP PNG Image Options
419  * @pre GDISP_NEED_IMAGE and GDISP_NEED_IMAGE_PNG must be GFXON
420  * @{
421  */
422  /**
423  * @brief Is PNG Interlaced image decoding required.
424  * @details Defaults to GFXOFF
425  * @note Currently not supported due to the complex decoding and display requirements
426  */
427  #ifndef GDISP_NEED_IMAGE_PNG_INTERLACED
428  #define GDISP_NEED_IMAGE_PNG_INTERLACED GFXOFF
429  #endif
430  /**
431  * @brief Is PNG image transparency processed.
432  * @details Defaults to GFXON
433  */
434  #ifndef GDISP_NEED_IMAGE_PNG_TRANSPARENCY
435  #define GDISP_NEED_IMAGE_PNG_TRANSPARENCY GFXON
436  #endif
437  /**
438  * @brief Is PNG background data processed.
439  * @details Defaults to GFXON
440  * @note If the background is specified in the image file and this define is GFXON,
441  * that background color is used for transparency and alpha blending.
442  */
443  #ifndef GDISP_NEED_IMAGE_PNG_BACKGROUND
444  #define GDISP_NEED_IMAGE_PNG_BACKGROUND GFXON
445  #endif
446  /**
447  * @brief What is the cliff between non-blended alpha pixels being displayed or not.
448  * @details Range of 0 to 255
449  * @note If GDISP_NEED_IMAGE_PNG_BACKGROUND is GFXON and the PNG file contains a
450  * background color then the pixel will be blended with the background color
451  * according to the alpha.
452  * If not then no blending occurs. The pixel will either be set or not.
453  * Any alpha value greater or equal to this number will be displayed.
454  * Anything less than this number is not displayed.
455  */
456  #ifndef GDISP_NEED_IMAGE_PNG_ALPHACLIFF
457  #define GDISP_NEED_IMAGE_PNG_ALPHACLIFF 32
458  #endif
459  /**
460  * @brief Is 1, 2 and 4 bit PNG palettized image decoding required.
461  * @details Defaults to GFXON
462  */
463  #ifndef GDISP_NEED_IMAGE_PNG_PALETTE_124
464  #define GDISP_NEED_IMAGE_PNG_PALETTE_124 GFXON
465  #endif
466  /**
467  * @brief Is 8 bit PNG palettized image decoding required.
468  * @details Defaults to GFXON
469  */
470  #ifndef GDISP_NEED_IMAGE_PNG_PALETTE_8
471  #define GDISP_NEED_IMAGE_PNG_PALETTE_8 GFXON
472  #endif
473  /**
474  * @brief Is 1,2 and 4 bit PNG grayscale image decoding required.
475  * @details Defaults to GFXON
476  */
477  #ifndef GDISP_NEED_IMAGE_PNG_GRAYSCALE_124
478  #define GDISP_NEED_IMAGE_PNG_GRAYSCALE_124 GFXON
479  #endif
480  /**
481  * @brief Is 8 bit PNG grayscale image decoding required.
482  * @details Defaults to GFXON
483  */
484  #ifndef GDISP_NEED_IMAGE_PNG_GRAYSCALE_8
485  #define GDISP_NEED_IMAGE_PNG_GRAYSCALE_8 GFXON
486  #endif
487  /**
488  * @brief Is 16 bit PNG grayscale image decoding required.
489  * @details Defaults to GFXON
490  */
491  #ifndef GDISP_NEED_IMAGE_PNG_GRAYSCALE_16
492  #define GDISP_NEED_IMAGE_PNG_GRAYSCALE_16 GFXON
493  #endif
494  /**
495  * @brief Is 8 bit PNG grayscale with 8 bit alpha image decoding required.
496  * @details Defaults to GFXON
497  */
498  #ifndef GDISP_NEED_IMAGE_PNG_GRAYALPHA_8
499  #define GDISP_NEED_IMAGE_PNG_GRAYALPHA_8 GFXON
500  #endif
501  /**
502  * @brief Is 16 bit PNG grayscale with 16 bit alpha image decoding required.
503  * @details Defaults to GFXON
504  */
505  #ifndef GDISP_NEED_IMAGE_PNG_GRAYALPHA_16
506  #define GDISP_NEED_IMAGE_PNG_GRAYALPHA_16 GFXON
507  #endif
508  /**
509  * @brief Is 8/8/8 bit PNG RGB image decoding required.
510  * @details Defaults to GFXON
511  */
512  #ifndef GDISP_NEED_IMAGE_PNG_RGB_8
513  #define GDISP_NEED_IMAGE_PNG_RGB_8 GFXON
514  #endif
515  /**
516  * @brief Is 16/16/16 bit PNG RGB image decoding required.
517  * @details Defaults to GFXON
518  */
519  #ifndef GDISP_NEED_IMAGE_PNG_RGB_16
520  #define GDISP_NEED_IMAGE_PNG_RGB_16 GFXON
521  #endif
522  /**
523  * @brief Is 8/8/8 bit PNG RGB with 8 bit alpha image decoding required.
524  * @details Defaults to GFXON
525  */
526  #ifndef GDISP_NEED_IMAGE_PNG_RGBALPHA_8
527  #define GDISP_NEED_IMAGE_PNG_RGBALPHA_8 GFXON
528  #endif
529  /**
530  * @brief Is 16/16/16 bit PNG RGB with 16 bit alpha image decoding required.
531  * @details Defaults to GFXON
532  */
533  #ifndef GDISP_NEED_IMAGE_PNG_RGBALPHA_16
534  #define GDISP_NEED_IMAGE_PNG_RGBALPHA_16 GFXON
535  #endif
536  /**
537  * @brief The PNG blit buffer size in pixels.
538  * @details Defaults to 32
539  * @note Bigger is faster but requires more RAM.
540  */
541  #ifndef GDISP_IMAGE_PNG_BLIT_BUFFER_SIZE
542  #define GDISP_IMAGE_PNG_BLIT_BUFFER_SIZE 32
543  #endif
544  /**
545  * @brief The PNG input file buffer size in bytes.
546  * @details Defaults to 8
547  * @note Bigger is faster but requires more RAM.
548  * @note Must be >= 8
549  */
550  #ifndef GDISP_IMAGE_PNG_FILE_BUFFER_SIZE
551  #define GDISP_IMAGE_PNG_FILE_BUFFER_SIZE 8
552  #endif
553  /**
554  * @brief The PNG inflate decompression buffer size in bytes.
555  * @details Defaults to 32768
556  * @note Bigger is faster but requires more RAM.
557  * @note Must be >= 32768 due to the PNG 32K sliding window.
558  * @note More efficient code is generated if this value is a power of 2.
559  */
560  #ifndef GDISP_IMAGE_PNG_Z_BUFFER_SIZE
561  #define GDISP_IMAGE_PNG_Z_BUFFER_SIZE 32768
562  #endif
563 /**
564  * @}
565  *
566  * @name GDISP Text Rendering Options
567  * @{
568  */
569  /**
570  * @brief Enable advanced word-wrapping.
571  * @details Only has an effect with @p gdispGDrawStringBox() and @p gdispGFillStringBox()
572  * @details Defaults to GFXOFF
573  */
574  #ifndef GDISP_NEED_TEXT_WORDWRAP
575  #define GDISP_NEED_TEXT_WORDWRAP GFXOFF
576  #endif
577  /**
578  * @brief Adding pixels to the left and right side of the box to pad text.
579  * @details Only has an effect with @p gdispGDrawStringBox() and @p gdispGFillStringBox()
580  * @note Can be turned off by using gJustifyNoPad
581  * @details Defaults to 1
582  */
583  #ifndef GDISP_NEED_TEXT_BOXPADLR
584  #define GDISP_NEED_TEXT_BOXPADLR 1
585  #endif
586  /**
587  * @brief Adding pixels to the top and bottom side of the box to pad text.
588  * @details Only has an effect with @p gdispGDrawStringBox() and @p gdispGFillStringBox()
589  * @note Can be turned off by using gJustifyNoPad
590  * @details Defaults to 1
591  */
592  #ifndef GDISP_NEED_TEXT_BOXPADTB
593  #define GDISP_NEED_TEXT_BOXPADTB 1
594  #endif
595  /**
596  * @brief Enable UTF-8 support for text rendering.
597  * @details Defaults to GFXOFF
598  */
599  #ifndef GDISP_NEED_UTF8
600  #define GDISP_NEED_UTF8 GFXOFF
601  #endif
602  /**
603  * @brief Enable kerning for font rendering (improves character placement).
604  * @details Defaults to GFXOFF
605  */
606  #ifndef GDISP_NEED_TEXT_KERNING
607  #define GDISP_NEED_TEXT_KERNING GFXOFF
608  #endif
609  /**
610  * @brief Enable antialiased font support
611  * @details Defaults to GFXOFF
612  */
613  #ifndef GDISP_NEED_ANTIALIAS
614  #define GDISP_NEED_ANTIALIAS GFXOFF
615  #endif
616 /**
617  * @}
618  *
619  * @name GDISP Pixmap Options
620  * @{
621  */
622  #ifndef GDISP_NEED_PIXMAP_IMAGE
623  #define GDISP_NEED_PIXMAP_IMAGE GFXOFF
624  #endif
625 /**
626  * @}
627  *
628  * @name GDISP Optional Low Level Driver Defines
629  * @{
630  */
631  /**
632  * @brief Set the screen height and width.
633  * @note Ignored by some low level GDISP drivers, optional for others.
634  * @note Where these values are allowed, a default is always provided be the low level driver.
635  * @note The list of GDISP low level drivers that allow these to be set are...
636  * WIN32, SSD1289, SSD1963, TestStub
637  */
638  /* #define GDISP_SCREEN_WIDTH nnnn */
639  /* #define GDISP_SCREEN_HEIGHT nnnn */
640  /**
641  * @brief Define which bus interface to use.
642  * @details Only required by the SSD1963 driver.
643  * @note This will be replaced eventually by board definition files
644  */
645  // #define GDISP_USE_FSMC
646  // #define GDISP_USE_GPIO
647 /** @} */
648 
649 #endif /* _GDISP_OPTIONS_H */
650 /** @} */
651