| 1 | -- Returns a new menu sheet | 
|---|
| 2 | -- See MenuSheet.new for details about the parameters | 
|---|
| 3 | function 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 | 
|---|
| 7 | end | 
|---|
| 8 |  | 
|---|
| 9 | -- Returns a new HUD sheet | 
|---|
| 10 | function 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 | 
|---|
| 14 | end | 
|---|
| 15 |  | 
|---|
| 16 | function openDecisionPopup( text, callbackPtr ) | 
|---|
| 17 | showMenuSheet("DecisionPopup", false, true) | 
|---|
| 18 | DecisionPopup.setCallback(callbackPtr) | 
|---|
| 19 | DecisionPopup.setText(text) | 
|---|
| 20 | end | 
|---|
| 21 |  | 
|---|
| 22 | function openInfoPopup(text, functionPtr, closeButton, arguments) | 
|---|
| 23 | showMenuSheet("InfoPopup", false, true) | 
|---|
| 24 | InfoPopup.execute(functionPtr, arguments) | 
|---|
| 25 | InfoPopup.setText(text) | 
|---|
| 26 | InfoPopup.setCloseButton(closeButton) | 
|---|
| 27 | end | 
|---|
| 28 |  | 
|---|
| 29 | function 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 | 
|---|
| 39 | end | 
|---|
| 40 |  | 
|---|
| 41 | function 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 | 
|---|
| 46 | end | 
|---|
| 47 |  | 
|---|
| 48 | function 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 | 
|---|
| 55 | end | 
|---|