Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | menu/background: use boost::noncopyable | Alexander Sulfrian | 2013-01-13 | 1 | -10/+7 |
| | |||||
* | menu/gl_delayed_allocation: add helper for opengl allocation | Alexander Sulfrian | 2013-01-13 | 2 | -0/+159 |
| | | | | | | | | | | | | opengl allocation could not be done in the constructor of the opengl objects. The opengl calls only have effect when called form the opengl thread, but the objects could be constructed from other threads. The analogous applies to the destruction. This helper handles the allocation on first use from the opengl thread and frees the resources while calling dispose before real destruction (see Disposable). If dispose is called from the opengl thread, it frees the resources immediately, but if dispose is called from another thread it waits (blocks) until the next use from the opengl thread is complete. | ||||
* | utils: add disposer helper | Alexander Sulfrian | 2013-01-13 | 3 | -0/+158 |
| | | | | | | | | | The disposer helper should be used to encapsulate disposable objects. This objects have to cleanup something before deconstruction and so you need to help dispose before destruction of the object. The disposer takes care for you. On destruction of the disposer, it calls dispose of the encapsulated object and then destroy it, too. So you do not need to remember to call dispose manually. | ||||
* | utils: add activator helper | Alexander Sulfrian | 2013-01-13 | 2 | -0/+93 |
| | | | | | | | | | The activator should be used to encapsulate activatable objects. It calls enable on construction and disable on deconstruction. It should be used for example to enable some opengl settings, while the activator object is used in local scope. It ensures, that the opengl setting get disabled, if the scope is left even when throwing an exception. | ||||
* | menu: add some comments | Alexander Sulfrian | 2013-01-13 | 6 | -6/+61 |
| | |||||
* | utils/dimension: add == and != operators | Alexander Sulfrian | 2013-01-13 | 1 | -8/+11 |
| | |||||
* | menu/application: add possibility to query if ogl thread | Alexander Sulfrian | 2013-01-13 | 2 | -0/+11 |
| | | | | | | | opengl calls should only executed in the thread, that created the opengl context. To query whether the current thread is the opengl thread, the application class stores the current thread id of the opengl thread after initializing opengl. | ||||
* | menu: use RgbColor.get_array(?) magic everywhere | Alexander Sulfrian | 2013-01-13 | 6 | -65/+13 |
| | |||||
* | menu/text: basic handling of auto size | Alexander Sulfrian | 2013-01-13 | 2 | -0/+18 |
| | | | | | | | | | If auto_size is false the control is setup clipping, so that the outside parts of the control gets discarded. If auto_size enable, the drawn parts outside the component rectangle are drawn. TODO: currently the component dost not really change its size. This could be necessary for sensible regions. | ||||
* | menu: code style: change naming of bool-getter to is prefix | Alexander Sulfrian | 2013-01-13 | 7 | -9/+9 |
| | |||||
* | menu/static: code style: remove this/getter if not needed | Alexander Sulfrian | 2013-01-13 | 1 | -4/+3 |
| | |||||
* | base/config: add debug.boxes config option | Alexander Sulfrian | 2013-01-13 | 3 | -1/+29 |
| | | | | | if debug.boxes is true in configuration file, a red border is drawn around all controls | ||||
* | menu/static_rectangle: add implementation of static for rectangles | Alexander Sulfrian | 2013-01-13 | 2 | -0/+100 |
| | |||||
* | menu/static: add infrastructure for simple geometric types | Alexander Sulfrian | 2013-01-13 | 2 | -0/+263 |
| | |||||
* | utils/rgba_color: add RgbaColor (RGB with additional alpha channel) | Alexander Sulfrian | 2013-01-13 | 2 | -0/+160 |
| | |||||
* | utils/rgb_color: add possibility to generate color array for opengl | Alexander Sulfrian | 2013-01-13 | 2 | -2/+75 |
| | |||||
* | menu/container: remove assert | Alexander Sulfrian | 2013-01-13 | 1 | -1/+0 |
| | |||||
* | base/config: add graphics.fullscreen option | Alexander Sulfrian | 2013-01-13 | 4 | -6/+96 |
| | |||||
* | menu: add some comments | Alexander Sulfrian | 2013-01-13 | 2 | -3/+25 |
| | |||||
* | base/config: add graphics.resolution config option | Alexander Sulfrian | 2013-01-13 | 4 | -1/+110 |
| | | | | | | The resolution could controlled by the appropriate config option. The value from the config file is parsed/serialized with the DimensionTranslator. | ||||
* | base/config: add basic config infrastructure | Alexander Sulfrian | 2013-01-13 | 4 | -1/+128 |
| | |||||
* | menu/drawable_control: always cache modelview matrix | Alexander Sulfrian | 2013-01-13 | 1 | -12/+17 |
| | | | | | | Some controls modify the modelview matrix during drawing their contents. Restore it afterwards, so that other parts could be drawn easily on top. | ||||
* | menu/modelview_matrix_cache: add helper class | Alexander Sulfrian | 2013-01-13 | 3 | -6/+91 |
| | | | | | Use the new ModelviewMatrixCache to cache the current state of the opengl MODELVIEW_MATRIX. | ||||
* | menu: use boost::shared_mutex | Alexander Sulfrian | 2013-01-13 | 7 | -30/+46 |
| | | | | | Use everywhere a mutable boost::shared_mutex to enable locking during const getter and the multiple reader and single writer pattern. | ||||
* | remove legacy keywords from file header | Alexander Sulfrian | 2013-01-13 | 80 | -160/+0 |
| | |||||
* | menu: enable (and disable) glTexture only if needed | Alexander Sulfrian | 2013-01-13 | 3 | -1/+6 |
| | |||||
* | menu/background: backgrounds get to know the parent component | Alexander Sulfrian | 2013-01-13 | 8 | -38/+133 |
| | | | | | | | | | Backgrounds now know the parent control, they are painted in, to query the size. Backgrounds are not allowed to use glClear anymore, should only draw something during the extend of the parent control and should take care to do not modify the opengl cursor position. | ||||
* | menu: generalized frame_background to background | Alexander Sulfrian | 2013-01-13 | 13 | -115/+84 |
| | | | | | | | | | background could now be a background for all DrawableControl instances each subclass should call the parents draw() during executing the draw() method for background painting TODO: background should know the size of the control to only draw the background there | ||||
* | menu/clipping_helper: made clipping working | Alexander Sulfrian | 2013-01-13 | 4 | -15/+20 |
| | |||||
* | menu/contianer: element position should be relative to the container position | Alexander Sulfrian | 2013-01-13 | 2 | -2/+6 |
| | | | | | | container should provide each of the containing elements' draw functions with its own position as base (store before drawing the first element and restore it after each drawing) | ||||
* | menu/container: calculate window coordinates | Alexander Sulfrian | 2013-01-13 | 3 | -3/+74 |
| | | | | | | the container have to keep the current window coordinates of its left, bottom corner, therefor they have to be recalculated on every size/position change (need virtual functions in DrawableControl) | ||||
* | menu/text: removed unnecessary block | Alexander Sulfrian | 2013-01-13 | 1 | -9/+7 |
| | |||||
* | menu/application: group the opengl init steps | Alexander Sulfrian | 2013-01-13 | 1 | -4/+3 |
| | |||||
* | menu/application: whitespace fix | Alexander Sulfrian | 2013-01-13 | 1 | -2/+2 |
| | |||||
* | menu/application: disable opengl depth buffer (only 2d needed) | Alexander Sulfrian | 2013-01-13 | 2 | -1/+2 |
| | |||||
* | menu/application: alpha blending should not be enabled by default | Alexander Sulfrian | 2013-01-13 | 2 | -4/+5 |
| | |||||
* | utils/rectangle: removed external constructors and added helper | Alexander Sulfrian | 2013-01-13 | 5 | -16/+28 |
| | | | | | constructors that generate a rectangle from GLint[4] or FTBBox are now helper functions to remove the external dependencies from the helper class | ||||
* | menu/software_mouse_pointer: set hidden if timer is ready | Alexander Sulfrian | 2013-01-13 | 1 | -1/+7 |
| | | | | this saves the draw call if the pointer should not be drawn | ||||
* | utils/point: addition/subtraction should only be possible with same type | Alexander Sulfrian | 2013-01-13 | 1 | -4/+4 |
| | |||||
* | menu/text: realign on size change of control | Alexander Sulfrian | 2013-01-13 | 2 | -0/+15 |
| | |||||
* | menu/drawable_control: set_size should be virtual so it could be overwritten | Alexander Sulfrian | 2013-01-13 | 1 | -2/+2 |
| | |||||
* | menu/text: added variable vertical alignment in the box of the control | Alexander Sulfrian | 2013-01-13 | 4 | -5/+185 |
| | |||||
* | utils/rectangle: could get top/bottom/left/right coordinates from Rectangle | Alexander Sulfrian | 2013-01-13 | 2 | -11/+22 |
| | |||||
* | utils/rectangle: added ctor to create a Rectange from a FTBox | Alexander Sulfrian | 2013-01-13 | 1 | -0/+8 |
| | |||||
* | utils/math: added abs/min/max as static template functions | Alexander Sulfrian | 2013-01-13 | 1 | -0/+69 |
| | |||||
* | utils/rectangle: the points should be modifiable | Alexander Sulfrian | 2013-01-13 | 1 | -2/+2 |
| | |||||
* | menu/text: renamed text_mutex to font_mutex | Alexander Sulfrian | 2013-01-13 | 2 | -3/+4 |
| | | | | | | no the font_mutex should not only serialize all accesses to the text, that should be drawn, also all accesses to the under laying font object should not be at the same time | ||||
* | menu/text: reordered includes in header file | Alexander Sulfrian | 2013-01-13 | 1 | -3/+4 |
| | |||||
* | menu/software_mouse_pointer: hide after 2s without movement | Alexander Sulfrian | 2013-01-13 | 2 | -0/+9 |
| | |||||
* | menu/timer: added simple timer to wait until duration is completed | Alexander Sulfrian | 2013-01-13 | 2 | -0/+125 |
| |