aboutsummaryrefslogtreecommitdiffstats
path: root/include/gdisp/options.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/gdisp/options.h')
-rw-r--r--include/gdisp/options.h57
1 files changed, 44 insertions, 13 deletions
diff --git a/include/gdisp/options.h b/include/gdisp/options.h
index 1a0f6907..9af7788f 100644
--- a/include/gdisp/options.h
+++ b/include/gdisp/options.h
@@ -21,19 +21,6 @@
* @{
*/
/**
- * @brief Should support for multiple displays be provided.
- * @details Defaults to FALSE.
- * @note Setting this to TRUE can significantly increase code size as many
- * optimizations that remove code through conditional compilation can't
- * be done. It may also slow some graphics operations as extra tests must
- * be performed to determine how to do a particular operation. For these
- * reasons do not set it to TRUE unless you really need multiple display
- * support.
- */
- #ifndef GDISP_MULTIPLE_DRIVERS
- #define GDISP_MULTIPLE_DRIVERS FALSE
- #endif
- /**
* @brief Should all operations be clipped to the screen and colors validated.
* @details Defaults to TRUE.
* @note If this is FALSE, any operations that extend beyond the
@@ -158,6 +145,50 @@
/**
* @}
*
+ * @name GDISP Multiple Display Support
+ * @{
+ */
+ /**
+ * @brief The total number of displays.
+ * @note This can be on just one type of controller or spread across several different controllers
+ */
+ #ifndef GDISP_TOTAL_DISPLAYS
+ #define GDISP_TOTAL_DISPLAYS 1
+ #endif
+ /**
+ * @brief The total number of controllers.
+ * @note If this is greater than one, all the hardware acceleration options below
+ * and the pixel format must be manually specified in your gfxconf.h along with
+ * @p GDISP_CONTROLLER_LIST. See the gdisp_lld_config.h in each driver to get a list
+ * of hardware capabilities for each driver in order to work out the common set across
+ * all the controllers you want to use.
+ */
+ #ifndef GDISP_TOTAL_CONTROLLERS
+ #define GDISP_TOTAL_CONTROLLERS 1
+ #endif
+
+ #if defined(__DOXYGEN__)
+ /**
+ * @brief The list of controllers.
+ * @note This is required if @p GDISP_TOTAL_CONTROLLERS is greater than one.
+ * @note The number of entries must match @p GDISP_TOTAL_CONTROLLERS.
+ * @note See the gdisp_lld.c in each driver (near the top) to get the name of the VMT for a driver.
+ * @note Replace this example with your own definition in your gfxconf.h file.
+ */
+ #define GDISP_CONTROLLER_LIST GDISPVMT_Win32, GDISPVMT_SSD1963
+ /**
+ * @brief The number of displays for each controller.
+ * @note This is required if @p GDISP_TOTAL_CONTROLLERS is greater than one.
+ * @note The number of entries must match @p GDISP_TOTAL_CONTROLLERS.
+ * @note The sum of all the display counts must equal @p GDISP_TOTAL_DISPLAYS (3 for this example)
+ * or bad things will happen.
+ * @note Replace this example with your own definition in your gfxconf.h file.
+ */
+ #define GDISP_CONTROLLER_DISPLAYS 2, 1
+ #endif
+/**
+ * @}
+ *
* @name GDISP Image Options
* @pre GDISP_NEED_IMAGE must be TRUE
* @{