2013-05-01 23:53:28 +00:00
|
|
|
/*
|
2013-06-15 11:09:02 +00:00
|
|
|
* This file is subject to the terms of the GFX License. If a copy of
|
2013-05-03 14:36:17 +00:00
|
|
|
* the license was not distributed with this file, you can obtain one at:
|
|
|
|
*
|
2013-07-21 20:20:37 +00:00
|
|
|
* http://ugfx.org/license.html
|
2013-05-03 14:36:17 +00:00
|
|
|
*/
|
2013-03-02 12:20:57 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @file include/gwin/options.h
|
|
|
|
* @brief GWIN sub-system options header file.
|
|
|
|
*
|
|
|
|
* @addtogroup GWIN
|
2013-07-21 20:02:57 +00:00
|
|
|
* @brief Module which provides a complete GUI toolkit based on widgets
|
|
|
|
*
|
2013-03-02 12:20:57 +00:00
|
|
|
* @{
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _GWIN_OPTIONS_H
|
|
|
|
#define _GWIN_OPTIONS_H
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @name GWIN Functionality to be included
|
|
|
|
* @{
|
|
|
|
*/
|
|
|
|
/**
|
2013-06-10 07:18:01 +00:00
|
|
|
* @brief Should window manager support be included
|
2013-03-02 12:20:57 +00:00
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
2013-06-07 16:27:59 +00:00
|
|
|
#ifndef GWIN_NEED_WINDOWMANAGER
|
2013-06-10 07:18:01 +00:00
|
|
|
#define GWIN_NEED_WIDGET FALSE
|
2013-06-07 16:27:59 +00:00
|
|
|
#endif
|
|
|
|
/**
|
|
|
|
* @brief Should widget functions be included. Needed for any widget (eg Buttons, Sliders etc)
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GWIN_NEED_WIDGET
|
|
|
|
#define GWIN_NEED_WIDGET FALSE
|
2013-03-02 12:20:57 +00:00
|
|
|
#endif
|
|
|
|
/**
|
|
|
|
* @brief Should console functions be included.
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GWIN_NEED_CONSOLE
|
|
|
|
#define GWIN_NEED_CONSOLE FALSE
|
|
|
|
#endif
|
|
|
|
/**
|
|
|
|
* @brief Should graph functions be included.
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GWIN_NEED_GRAPH
|
|
|
|
#define GWIN_NEED_GRAPH FALSE
|
|
|
|
#endif
|
2013-06-07 16:27:59 +00:00
|
|
|
/**
|
|
|
|
* @brief Should button functions be included.
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GWIN_NEED_BUTTON
|
|
|
|
#define GWIN_NEED_BUTTON FALSE
|
|
|
|
#endif
|
2013-04-06 11:54:19 +00:00
|
|
|
/**
|
|
|
|
* @brief Should slider functions be included.
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GWIN_NEED_SLIDER
|
|
|
|
#define GWIN_NEED_SLIDER FALSE
|
|
|
|
#endif
|
2013-06-07 16:27:59 +00:00
|
|
|
/**
|
|
|
|
* @brief Should checkbox functions be included.
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GWIN_NEED_CHECKBOX
|
|
|
|
#define GWIN_NEED_CHECKBOX FALSE
|
|
|
|
#endif
|
2013-07-02 17:26:48 +00:00
|
|
|
/**
|
|
|
|
* @brief Should image functions be included.
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GWIN_NEED_IMAGE
|
|
|
|
#define GWIN_NEED_IMAGE FALSE
|
|
|
|
#endif
|
|
|
|
/**
|
|
|
|
* @brief Should label functions be included.
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GWIN_NEED_LABEL
|
|
|
|
#define GWIN_NEED_LABEL FALSE
|
|
|
|
#endif
|
2013-07-05 15:46:34 +00:00
|
|
|
/**
|
|
|
|
* @brief Should radio button functions be included.
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GWIN_NEED_RADIO
|
|
|
|
#define GWIN_NEED_RADIO FALSE
|
|
|
|
#endif
|
2013-03-02 12:20:57 +00:00
|
|
|
/**
|
|
|
|
* @}
|
|
|
|
*
|
|
|
|
* @name GWIN Optional Parameters
|
|
|
|
* @{
|
|
|
|
*/
|
2013-05-25 16:06:55 +00:00
|
|
|
/**
|
|
|
|
* @brief Buttons should not insist the mouse is over the button on mouse release
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
2013-03-02 12:20:57 +00:00
|
|
|
#ifndef GWIN_BUTTON_LAZY_RELEASE
|
|
|
|
#define GWIN_BUTTON_LAZY_RELEASE FALSE
|
2013-12-18 15:49:49 +00:00
|
|
|
#endif
|
|
|
|
/**
|
2014-01-17 08:36:28 +00:00
|
|
|
* @brief Should the content of the console be saved for redrawing.
|
2013-12-18 15:49:49 +00:00
|
|
|
* @details Defaults to FALSE
|
2014-01-17 08:36:28 +00:00
|
|
|
* @details If this feature is enabled, the contents of the console will be saved
|
|
|
|
* as it is written. If a redraw is required it will be redrawn from the
|
|
|
|
* history. Scrolling will also use the history buffer if it is turned on.
|
|
|
|
* @note Using this option allocates the amount of memory to store the
|
|
|
|
* history based on the minimum character width in the current font
|
|
|
|
* at the time the history is turned on. Using a fixed width font is a good
|
|
|
|
* idea to minimize memory usage.
|
|
|
|
* @note If you change the size of the window or you change the font being displayed
|
|
|
|
* you should turn off the history and then turn it back on in order to get
|
|
|
|
* a new buffer of the correct size for the window/font combination. Strange
|
|
|
|
* redrawing and scrolling effects can occur if the buffer is too small to
|
|
|
|
* save a complete screen of data. Note the system tries to optimize storage
|
|
|
|
* so this may only be evident in very limited situations eg with a console
|
|
|
|
* with many characters in it.
|
|
|
|
* @note @p gwinConsoleSetBuffer() can be used to turn the history buffer off and on.
|
2013-12-18 15:49:49 +00:00
|
|
|
*/
|
2014-01-03 18:14:41 +00:00
|
|
|
#ifndef GWIN_CONSOLE_USE_HISTORY
|
|
|
|
#define GWIN_CONSOLE_USE_HISTORY FALSE
|
2013-03-02 12:20:57 +00:00
|
|
|
#endif
|
2014-01-17 08:36:28 +00:00
|
|
|
/**
|
|
|
|
* @brief Use font width averaging for the history buffer allocation.
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
* @details If this feature is enabled, the width one third of the way between
|
|
|
|
* the font's character width minimum and maximum will be used instead
|
|
|
|
* of the font's minimum width.
|
|
|
|
* @note This option reduces the memory allocation for a variable width font's
|
|
|
|
* history buffer. Note that strange
|
|
|
|
* redrawing and scrolling effects can occur if the buffer is too small to
|
|
|
|
* save a complete screen of data. The system tries to optimize storage
|
|
|
|
* so this may only be evident in very limited situations eg with a console
|
|
|
|
* with many characters in it.
|
|
|
|
*/
|
|
|
|
#ifndef GWIN_CONSOLE_HISTORY_AVERAGING
|
|
|
|
#define GWIN_CONSOLE_HISTORY_AVERAGING FALSE
|
|
|
|
#endif
|
|
|
|
/**
|
|
|
|
* @brief Should the history be turned on for all console windows when they are first created.
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
* @note @p gwinConsoleSetBuffer() can be used to turn the history buffer off and on at
|
|
|
|
* any time.
|
|
|
|
*/
|
|
|
|
#ifndef GWIN_CONSOLE_HISTORY_ATCREATE
|
|
|
|
#define GWIN_CONSOLE_HISTORY_ATCREATE FALSE
|
|
|
|
#endif
|
2013-05-25 16:06:55 +00:00
|
|
|
/**
|
|
|
|
* @brief Console Windows need floating point support in @p gwinPrintf
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GWIN_CONSOLE_USE_FLOAT
|
|
|
|
#define GWIN_CONSOLE_USE_FLOAT FALSE
|
|
|
|
#endif
|
|
|
|
/**
|
|
|
|
* @brief Console Windows need BaseStreamSequential support (ChibiOS only)
|
|
|
|
* @details Defaults to FALSE
|
2013-06-07 16:27:59 +00:00
|
|
|
* @note To use the ChibiOS basestream functions such as chprintf()
|
|
|
|
* for printing in a console window you need to set this option to
|
|
|
|
* TRUE in your gfxconf.h and include in your application source file...
|
|
|
|
* \#include "chprintf.h"
|
|
|
|
* In your makefile, as part of your list of C source files, include
|
|
|
|
* ${CHIBIOS}/os/various/chprintf.c
|
2013-05-25 16:06:55 +00:00
|
|
|
*/
|
|
|
|
#ifndef GWIN_CONSOLE_USE_BASESTREAM
|
|
|
|
#define GWIN_CONSOLE_USE_BASESTREAM FALSE
|
|
|
|
#endif
|
2013-07-18 23:37:50 +00:00
|
|
|
/**
|
|
|
|
* @brief Image windows can optionally support animated images
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GWIN_NEED_IMAGE_ANIMATION
|
|
|
|
#define GWIN_NEED_IMAGE_ANIMATION FALSE
|
|
|
|
#endif
|
2013-03-02 12:20:57 +00:00
|
|
|
/** @} */
|
|
|
|
|
|
|
|
#endif /* _GWIN_OPTIONS_H */
|
|
|
|
/** @} */
|