Option: Don't Stretch/Shrink Game Window

Sets gameMapPanel to size 480 x 352
Prevents resizing.
This commit is contained in:
Samuel 2012-10-10 01:25:50 +02:00
parent 95e46dbbaf
commit 478e796dbd
5 changed files with 25 additions and 3 deletions

View File

@ -42,13 +42,17 @@ Panel
id: fullscreen
!text: tr('Fullscreen')
OptionCheckBox
id: dontStretchShrink
!text: tr('Don\'t stretch/shrink Game Window')
Label
id: backgroundFrameRateLabel
!text: tr('Game framerate limit: %s', 'max')
anchors.left: parent.left
anchors.right: parent.right
anchors.top: prev.bottom
margin-top: 6
margin-top: 16
@onSetup: |
local value = Options.getOption('backgroundFrameRate')
local text = value

View File

@ -5,6 +5,7 @@ local defaultOptions = {
showFps = true,
showPing = true,
fullscreen = false,
dontStretchShrink = false,
classicControl = false,
walkBooster = false,
smartWalk = false,
@ -144,6 +145,10 @@ function Options.setOption(key, value)
end)
elseif key == 'fullscreen' then
g_window.setFullscreen(value)
elseif key == 'dontStretchShrink' then
addEvent(function()
modules.game_interface.updateStretchShrink()
end)
elseif key == 'enableMusic' then
g_sounds.enableMusic(value)
elseif key == 'showLeftPanel' then

View File

@ -17,7 +17,7 @@ OptionCheckBox < CheckBox
MainWindow
id: optionsWindow
!text: tr('Options')
size: 350 280
size: 350 290
@onEnter: Options.hide()
@onEscape: Options.hide()

View File

@ -10,6 +10,7 @@ mouseGrabberWidget = nil
countWindow = nil
logoutWindow = nil
exitWindow = nil
bottomSplitter = nil
function init()
g_ui.importStyle('styles/countwindow.otui')
@ -25,6 +26,7 @@ function init()
mouseGrabberWidget = gameRootPanel:getChildById('mouseGrabber')
mouseGrabberWidget.onMouseRelease = onMouseGrabberRelease
bottomSplitter = gameRootPanel:getChildById('bottomSplitter')
gameMapPanel = gameRootPanel:getChildById('gameMapPanel')
gameRightPanel = gameRootPanel:getChildById('gameRightPanel')
gameLeftPanel = gameRootPanel:getChildById('gameLeftPanel')
@ -90,6 +92,7 @@ function show()
gameRootPanel:show()
gameRootPanel:focus()
gameMapPanel:followCreature(g_game.getLocalPlayer())
updateStretchShrink()
end
function hide()
@ -187,6 +190,16 @@ function smartWalk(defaultDir)
end
end
function updateStretchShrink()
if Options.getOption('dontStretchShrink') then
gameMapPanel:setKeepAspectRatio(true)
gameMapPanel:setVisibleDimension({ width = 15, height = 11 })
-- Set gameMapPanel size to height = 11 * 32
bottomSplitter:setMarginBottom(bottomSplitter:getMarginBottom() + (gameMapPanel:getHeight() - 32 * 11) - 10)
end
end
function toggleAspectRatio()
if gameMapPanel:isKeepAspectRatioEnabled() then
gameMapPanel:setKeepAspectRatio(false)

View File

@ -63,7 +63,7 @@ UIWidget
anchors.bottom: parent.bottom
relative-margin: bottom
margin-bottom: 172
@canUpdateMargin: function(self, newMargin) return math.max(math.min(newMargin, self:getParent():getHeight() - 300), 100) end
@canUpdateMargin: function(self, newMargin) if Options.getOption('dontStretchShrink') then return self:getMarginBottom() end return math.max(math.min(newMargin, self:getParent():getHeight() - 300), 100) end
@onGeometryChange: function(self) self:setMarginBottom(math.min(math.max(self:getParent():getHeight() - 300, 100), self:getMarginBottom())) end
UIWidget