| 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 | 
|---|