aboutsummaryrefslogtreecommitdiffstats
path: root/src/menu (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-01-13menu/gl_delayed_allocation: add helper for opengl allocationAlexander Sulfrian2-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.
2013-01-13menu: add some commentsAlexander Sulfrian6-6/+61
2013-01-13menu/application: add possibility to query if ogl threadAlexander Sulfrian2-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.
2013-01-13menu: use RgbColor.get_array(?) magic everywhereAlexander Sulfrian6-65/+13
2013-01-13menu/text: basic handling of auto sizeAlexander Sulfrian2-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.
2013-01-13menu: code style: change naming of bool-getter to is prefixAlexander Sulfrian7-9/+9
2013-01-13menu/static: code style: remove this/getter if not neededAlexander Sulfrian1-4/+3
2013-01-13base/config: add debug.boxes config optionAlexander Sulfrian1-0/+10
if debug.boxes is true in configuration file, a red border is drawn around all controls
2013-01-13menu/static_rectangle: add implementation of static for rectanglesAlexander Sulfrian2-0/+100
2013-01-13menu/static: add infrastructure for simple geometric typesAlexander Sulfrian2-0/+263
2013-01-13menu/container: remove assertAlexander Sulfrian1-1/+0
2013-01-13base/config: add graphics.fullscreen optionAlexander Sulfrian1-5/+7
2013-01-13menu: add some commentsAlexander Sulfrian2-3/+25
2013-01-13base/config: add graphics.resolution config optionAlexander Sulfrian1-1/+2
The resolution could controlled by the appropriate config option. The value from the config file is parsed/serialized with the DimensionTranslator.
2013-01-13base/config: add basic config infrastructureAlexander Sulfrian2-1/+16
2013-01-13menu/drawable_control: always cache modelview matrixAlexander Sulfrian1-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.
2013-01-13menu/modelview_matrix_cache: add helper classAlexander Sulfrian3-6/+91
Use the new ModelviewMatrixCache to cache the current state of the opengl MODELVIEW_MATRIX.
2013-01-13menu: use boost::shared_mutexAlexander Sulfrian7-30/+46
Use everywhere a mutable boost::shared_mutex to enable locking during const getter and the multiple reader and single writer pattern.
2013-01-13remove legacy keywords from file headerAlexander Sulfrian36-72/+0
2013-01-13menu: enable (and disable) glTexture only if neededAlexander Sulfrian3-1/+6
2013-01-13menu/background: backgrounds get to know the parent componentAlexander Sulfrian7-36/+131
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.
2013-01-13menu: generalized frame_background to backgroundAlexander Sulfrian12-111/+80
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
2013-01-13menu/clipping_helper: made clipping workingAlexander Sulfrian3-15/+13
2013-01-13menu/contianer: element position should be relative to the container positionAlexander Sulfrian2-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)
2013-01-13menu/container: calculate window coordinatesAlexander Sulfrian3-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)
2013-01-13menu/text: removed unnecessary blockAlexander Sulfrian1-9/+7
2013-01-13menu/application: group the opengl init stepsAlexander Sulfrian1-4/+3
2013-01-13menu/application: whitespace fixAlexander Sulfrian1-2/+2
2013-01-13menu/application: disable opengl depth buffer (only 2d needed)Alexander Sulfrian2-1/+2
2013-01-13menu/application: alpha blending should not be enabled by defaultAlexander Sulfrian2-4/+5
2013-01-13utils/rectangle: removed external constructors and added helperAlexander Sulfrian4-2/+28
constructors that generate a rectangle from GLint[4] or FTBBox are now helper functions to remove the external dependencies from the helper class
2013-01-13menu/software_mouse_pointer: set hidden if timer is readyAlexander Sulfrian1-1/+7
this saves the draw call if the pointer should not be drawn
2013-01-13menu/text: realign on size change of controlAlexander Sulfrian2-0/+15
2013-01-13menu/drawable_control: set_size should be virtual so it could be overwrittenAlexander Sulfrian1-2/+2
2013-01-13menu/text: added variable vertical alignment in the box of the controlAlexander Sulfrian4-5/+185
2013-01-13utils/rectangle: could get top/bottom/left/right coordinates from RectangleAlexander Sulfrian1-3/+3
2013-01-13menu/text: renamed text_mutex to font_mutexAlexander Sulfrian2-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
2013-01-13menu/text: reordered includes in header fileAlexander Sulfrian1-3/+4
2013-01-13menu/software_mouse_pointer: hide after 2s without movementAlexander Sulfrian2-0/+9
2013-01-13menu/timer: added simple timer to wait until duration is completedAlexander Sulfrian2-0/+125
2013-01-13menu/text: added simple text class and a demo in the loading frameAlexander Sulfrian2-0/+172
2013-01-13menu/container: clipping requires window coordinatesAlexander Sulfrian3-3/+15
glScissor only work with window coordinates. to calculate that a control has to know it position on the window and therefor the parent container have to track the position in the window
2013-01-13menu/container: cleanup while destruction of containerAlexander Sulfrian3-4/+16
while a container is destructed, the parent of all containing controls will be removed, so that the controls it self do not try to unregister itself from the destroyed container later (while destruction the control class of the container and destroying all slave controls)
2013-01-13menu/drawable_control: added size to controls and clip drawing if requestedAlexander Sulfrian4-3/+77
if requested (set_clipping_required) DrawableControl will use ClippingHelper to setup glScissor befor drawing the content. container will request clipping by default
2013-01-05menu/drawable_control: added position, glTransform to position before drawingAlexander Sulfrian4-32/+64
software_mouse_pointer does not need an own position anymore and simply draw it without position change
2013-01-05menu/drawable_control: added repaint, that reinitialize the gl environmentAlexander Sulfrian2-0/+11
2013-01-05menu/container: initialize frameAlexander Sulfrian1-1/+1
2013-01-05menu: frame should not be added to container item listAlexander Sulfrian6-5/+70
if a frame is constructed, it needs a container as parent to get the size of it, but it should not be in the container item list and should be painted first, to be under every component the inner classes are used as helper classes, to be able to call a virtual method in the constructor of drawable_control to decide whether to add the control to the controls list of the container or not
2013-01-05menu/application: renamed test variableAlexander Sulfrian1-2/+2
2013-01-05menu/application: simplified codeAlexander Sulfrian1-2/+1