aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* base/time: make get_time static, constructor protectedAlexander Sulfrian2013-01-182-3/+18
| | | | | | The Time class does not have any state so the get_time method could be static. Because the Time class now has only static methods, deny creation by making the ctor protected.
* base/time: removed unused RelativeTimerAlexander Sulfrian2013-01-182-110/+0
|
* menu: fix calculate window coordinatesAlexander Sulfrian2013-01-184-4/+15
|
* menu/software_mouse_pointer: implement pressed stateAlexander Sulfrian2013-01-132-4/+65
|
* menu/event_manager: add more mouse eventsAlexander Sulfrian2013-01-134-3/+13
|
* menu/background_*: vertices are only recalculated if the size changedAlexander Sulfrian2013-01-134-20/+66
| | | | | | The size of the parent component is cached by the backgrounds and the vertices to draw the backgrounds are only calculated again, if the size of the parent component changed.
* menu/background_image: remove the unused texture colorAlexander Sulfrian2013-01-132-6/+1
|
* menu/texture: implement GlDelayedAllocation interfaceAlexander Sulfrian2013-01-136-45/+58
| | | | | Textures are now initialized during their first use, destroyed after their last used and could be use with the Activator.
* utils/image: add shortcut to get image size as DimensionAlexander Sulfrian2013-01-132-0/+8
|
* add const where applicableAlexander Sulfrian2013-01-134-14/+22
|
* menu/background: use boost::noncopyableAlexander Sulfrian2013-01-131-10/+7
|
* menu/gl_delayed_allocation: add helper for opengl allocationAlexander Sulfrian2013-01-132-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 helperAlexander Sulfrian2013-01-133-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 helperAlexander Sulfrian2013-01-132-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 commentsAlexander Sulfrian2013-01-136-6/+61
|
* utils/dimension: add == and != operatorsAlexander Sulfrian2013-01-131-8/+11
|
* menu/application: add possibility to query if ogl threadAlexander Sulfrian2013-01-132-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 everywhereAlexander Sulfrian2013-01-136-65/+13
|
* menu/text: basic handling of auto sizeAlexander Sulfrian2013-01-132-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 prefixAlexander Sulfrian2013-01-137-9/+9
|
* menu/static: code style: remove this/getter if not neededAlexander Sulfrian2013-01-131-4/+3
|
* base/config: add debug.boxes config optionAlexander Sulfrian2013-01-133-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 rectanglesAlexander Sulfrian2013-01-132-0/+100
|
* menu/static: add infrastructure for simple geometric typesAlexander Sulfrian2013-01-132-0/+263
|
* utils/rgba_color: add RgbaColor (RGB with additional alpha channel)Alexander Sulfrian2013-01-132-0/+160
|
* utils/rgb_color: add possibility to generate color array for openglAlexander Sulfrian2013-01-132-2/+75
|
* menu/container: remove assertAlexander Sulfrian2013-01-131-1/+0
|
* base/config: add graphics.fullscreen optionAlexander Sulfrian2013-01-134-6/+96
|
* menu: add some commentsAlexander Sulfrian2013-01-132-3/+25
|
* base/config: add graphics.resolution config optionAlexander Sulfrian2013-01-134-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 infrastructureAlexander Sulfrian2013-01-134-1/+128
|
* menu/drawable_control: always cache modelview matrixAlexander Sulfrian2013-01-131-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 classAlexander Sulfrian2013-01-133-6/+91
| | | | | Use the new ModelviewMatrixCache to cache the current state of the opengl MODELVIEW_MATRIX.
* menu: use boost::shared_mutexAlexander Sulfrian2013-01-137-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 headerAlexander Sulfrian2013-01-1380-160/+0
|
* menu: enable (and disable) glTexture only if neededAlexander Sulfrian2013-01-133-1/+6
|
* menu/background: backgrounds get to know the parent componentAlexander Sulfrian2013-01-138-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 backgroundAlexander Sulfrian2013-01-1313-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 workingAlexander Sulfrian2013-01-134-15/+20
|
* test/utils/rectangle: removed deprecated ctorAlexander Sulfrian2013-01-131-2/+1
|
* menu/contianer: element position should be relative to the container positionAlexander Sulfrian2013-01-132-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 coordinatesAlexander Sulfrian2013-01-133-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 blockAlexander Sulfrian2013-01-131-9/+7
|
* menu/application: group the opengl init stepsAlexander Sulfrian2013-01-131-4/+3
|
* menu/application: whitespace fixAlexander Sulfrian2013-01-131-2/+2
|
* menu/application: disable opengl depth buffer (only 2d needed)Alexander Sulfrian2013-01-132-1/+2
|
* menu/application: alpha blending should not be enabled by defaultAlexander Sulfrian2013-01-132-4/+5
|
* utils/rectangle: removed external constructors and added helperAlexander Sulfrian2013-01-135-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
* test/base/ringbuffer: fix whitespacesAlexander Sulfrian2013-01-131-2/+1
|
* menu/software_mouse_pointer: set hidden if timer is readyAlexander Sulfrian2013-01-131-1/+7
| | | | this saves the draw call if the pointer should not be drawn