150 lines
4.6 KiB
Python
150 lines
4.6 KiB
Python
import Scrap,SInput,SNet,SWeap,SScorer,SVec
|
|
|
|
logger = None
|
|
|
|
try:
|
|
logger = __import__("Logger").Logger("BlurMenu")
|
|
except Exception:
|
|
pass
|
|
|
|
def log(msg):
|
|
if logger is not None:
|
|
logger.info(msg)
|
|
else:
|
|
Scrap.Print("[STRNG][BlurMenu] " + str(msg) + "\n")
|
|
|
|
log("Starting module")
|
|
|
|
|
|
MotionBlurOffVar = 0
|
|
MotionBlurTime = 0
|
|
MotionBlurEndTime = 0
|
|
MotionBlurFactorBegin = 0
|
|
MotionBlurFactorEnd = 0
|
|
|
|
|
|
Menu = None
|
|
|
|
class Slider:
|
|
def __init__(
|
|
self,
|
|
id,
|
|
name,
|
|
x,
|
|
y,
|
|
min = 0,
|
|
max = 1,
|
|
value = 0,
|
|
step = 0.1,
|
|
onChange = None,
|
|
onSub = None,
|
|
onAdd = None,
|
|
itemNum = None,
|
|
):
|
|
self.id = id
|
|
self.name = name
|
|
self.x = x
|
|
self.y = y
|
|
self.min = min
|
|
self.max = max
|
|
self.value = value
|
|
self.step = step
|
|
self.onChange = onChange
|
|
self.onSub = onSub
|
|
self.onAdd = onAdd
|
|
self.itemNum = itemNum
|
|
|
|
def Create(self):
|
|
import Menu
|
|
|
|
Menu.SliderMenu(self.id, self.name, self.x, self.y)
|
|
|
|
SScorer.Set(self.id, self.name, "MaxValue", self.max )
|
|
SScorer.Set(self.id, self.name, "MinValue", self.min )
|
|
SScorer.Set(self.id, self.name, "ValueStep", self.step )
|
|
SScorer.Set(self.id, self.name, "Value", self.value)
|
|
|
|
if self.onChange:
|
|
SScorer.Set(self.id, self.name, "OnChange", self.onChange)
|
|
|
|
if self.onSub:
|
|
name = self.name + "_Sub"
|
|
SScorer.Add(self.id, name, "Text" )
|
|
SScorer.Set(self.id, name, "Text", "" )
|
|
SScorer.Set(self.id, name, "W", 0 )
|
|
SScorer.Set(self.id, name, "H", 0 )
|
|
SScorer.Set(self.id, name, "OnGainFocus", self.onAdd)
|
|
|
|
if self.onAdd:
|
|
name = self.name + "_Add"
|
|
SScorer.Add(self.id, name, "Text" )
|
|
SScorer.Set(self.id, name, "Text", "" )
|
|
SScorer.Set(self.id, name, "W", 0 )
|
|
SScorer.Set(self.id, name, "H", 0 )
|
|
SScorer.Set(self.id, name, "OnGainFocus", self.onAdd)
|
|
|
|
if self.itemNum:
|
|
itemStr = "Item" + str(self.itemNum)
|
|
|
|
Menu.LinkLR(self.id, self.name, itemStr )
|
|
Menu.LinkLR(self.id, itemStr, self.name)
|
|
|
|
if self.itemNum and self.onSub:
|
|
Menu.LinkLR(self.id, "DummySliderSub", itemStr)
|
|
|
|
if self.itemNum and self.onAdd:
|
|
Menu.LinkLR(self.id, itemStr, "DummySliderAdd")
|
|
|
|
|
|
def BlurMenu(id, control):
|
|
import Menu
|
|
log("Creating trip menu")
|
|
|
|
Menu.StartNewMenu(id)
|
|
Menu.VerticalMenu(id, Scrap.GetLangStr("Menu_Options_MyMenu"),(
|
|
[Scrap.GetLangStr("BlurMenu_OffVar") + ":", "Menu.DummyFunc"] ,
|
|
[Scrap.GetLangStr("BlurMenu_Time") + ":", "Menu.DummyFunc"] ,
|
|
[Scrap.GetLangStr("BlurMenu_EndTime") + ":", "Menu.DummyFunc"] ,
|
|
[Scrap.GetLangStr("BlurMenu_FactorBegin") + ":", "Menu.DummyFunc"] ,
|
|
[Scrap.GetLangStr("BlurMenu_FactorEnd") + ":", "Menu.DummyFunc"] ,
|
|
[Scrap.GetLangStr("Menu_Back"),"Menu.OptionsMenu"]),
|
|
"Menu.OptionsMenu", XStart = 310, VerticalStep = 36, YStart = Menu.OptionMenuYStart, Font = "ScrapMedium")
|
|
|
|
X = 330
|
|
|
|
sliders = ["OffVar", "Time", "EndTime", "FactorBegin", "FactorEnd"]
|
|
for i in range(len(sliders)):
|
|
sliderName = sliders[i]
|
|
onChange = "BlurMenu.SetBlurVar"
|
|
onAdd = "BlurMenu.AddBlurVar"
|
|
onSub = "BlurMenu.SubBlurVar"
|
|
|
|
Y = SScorer.Get(0, "Item" + str(i + 1), "Y") + 5
|
|
|
|
slider = Slider(id, sliderName, X, Y, 0.1, 1, 0.01, 0, onChange, onSub, onAdd, i)
|
|
slider.Create()
|
|
|
|
Menu.DrawBackOptionMenu(id)
|
|
|
|
|
|
def SetBlurVar(id, control):
|
|
Scrap.Set("MotionBlur" + control, SScorer.Get(id, control, 'Value'))
|
|
|
|
def AddBlurVar(id, control, prevcontrol):
|
|
name = control[:-4]
|
|
value = SScorer.Get(id, name, 'Value')
|
|
value_step = SScorer.Get(id, name, 'ValueStep')
|
|
result = value + value_step
|
|
|
|
SScorer.Set(id, name, "Value", result)
|
|
SScorer.SetDefault(id, prevcontrol)
|
|
|
|
def SubBlurVar(id, control, prevcontrol):
|
|
name = control[:-4]
|
|
value = SScorer.Get(id, name, 'Value')
|
|
value_step = SScorer.Get(id, name, 'ValueStep')
|
|
result = value - value_step
|
|
|
|
SScorer.Set(id, name, "Value", result)
|
|
SScorer.SetDefault(id, prevcontrol)
|