Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/ai/data/gui/scripts/GUITools.lua @ 8328

Last change on this file since 8328 was 7163, checked in by dafrick, 14 years ago

Merged presentation3 branch into trunk.

  • Property svn:eol-style set to native
File size: 2.4 KB
Line 
1-- Returns a new menu sheet
2-- See MenuSheet.new for details about the parameters
3function createMenuSheet(name, bHidePrevious, tShowCursor, tUseKeyboard, bBlockJoyStick)
4    local sheet = require("MenuSheet").new(name, bHidePrevious, tShowCursor, tUseKeyboard, bBlockJoyStick)
5    _G[sheet.name] = sheet -- Global access required because of the event handlers
6    return sheet
7end
8
9-- Returns a new HUD sheet
10function createHUDSheet(name)
11    local sheet = require("HUDSheet").new(name)
12    _G[sheet.name] = sheet -- Global access required because of the event handlers
13    return sheet
14end
15
16function openDecisionPopup( text, callbackPtr )
17    showMenuSheet("DecisionPopup", false, true)
18    DecisionPopup.setCallback(callbackPtr)
19    DecisionPopup.setText(text)
20end
21
22function openInfoPopup(text, functionPtr, closeButton, arguments)
23    showMenuSheet("InfoPopup", false, true)
24    InfoPopup.execute(functionPtr, arguments)
25    InfoPopup.setText(text)
26    InfoPopup.setCloseButton(closeButton)
27end
28
29function getMinTextSize(window)
30    local size = {}
31
32    local lookAndFeel = CEGUI.WidgetLookManager:getSingleton():getWidgetLook(window:getLookNFeel())
33    local height = window:getFont():getLineSpacing() + window:getUnclippedPixelRect():getHeight() - lookAndFeel:getNamedArea("WithFrameTextRenderArea"):getArea():getPixelRect(window):getHeight()
34    local width =  window:getFont():getTextExtent(window:getText()) + window:getUnclippedPixelRect():getWidth() - lookAndFeel:getNamedArea("WithFrameTextRenderArea"):getArea():getPixelRect(window):getWidth()
35
36    table.insert(size, height)
37    table.insert(size, width)
38    return size
39end
40
41function getScrollingStepSize(window)
42    local height = window:getUnclippedPixelRect():getHeight()
43    local maxHeight = CEGUI.System:getSingleton():getGUISheet():getUnclippedPixelRect():getHeight()
44    local ratio = height/maxHeight
45    return 0.008*ratio/0.3204
46end
47
48function getStaticTextWindowHeight(window)
49    local lookAndFeel = CEGUI.WidgetLookManager:getSingleton():getWidgetLook(window:getLookNFeel())
50    local formattedArea = lookAndFeel:getNamedArea("WithFrameTextRenderArea"):getArea():getPixelRect(window)
51    local frameHeight = window:getUnclippedPixelRect():getHeight() - formattedArea:getHeight()
52    local lines = window:getFont():getFormattedLineCount(window:getText(), formattedArea, CEGUI.WordWrapLeftAligned)
53    local height = lines * window:getFont():getLineSpacing() + frameHeight
54    return height
55end
Note: See TracBrowser for help on using the repository browser.