Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
104
Src/resources/skins/Winamp Modern/scripts/titlebar.m
Normal file
104
Src/resources/skins/Winamp Modern/scripts/titlebar.m
Normal file
|
@ -0,0 +1,104 @@
|
|||
#include <lib/std.mi>
|
||||
|
||||
#define MARGIN 0
|
||||
|
||||
Function resizeObjects();
|
||||
|
||||
Global GuiObject left, right, center;
|
||||
Global Text tcenter;
|
||||
Global Layer lcenter;
|
||||
Global Group sg;
|
||||
Global int padleft, padright;
|
||||
|
||||
System.onScriptLoaded() {
|
||||
|
||||
padleft = 0;
|
||||
padright = 0;
|
||||
|
||||
sg = getScriptGroup();
|
||||
|
||||
if (sg == NULL) {
|
||||
messageBox("titlebar.maki can only run within a group", "Error", 0, "");
|
||||
return;
|
||||
}
|
||||
|
||||
left = sg.findObject(getToken(getParam(), ";", 0));
|
||||
center = sg.findObject(getToken(getParam(), ";", 1));
|
||||
if (center != NULL) {
|
||||
tcenter = center.findObject("window.titlebar.title");
|
||||
lcenter = center.findObject("window.titlebar.title.overlay");
|
||||
}
|
||||
right = sg.findObject(getToken(getParam(), ";", 2));
|
||||
}
|
||||
|
||||
// backward compatibility with prerelease notify trick
|
||||
sg.onNotify(String cmd, String param, int a, int b) {
|
||||
String _command = getToken(cmd, ",", 0);
|
||||
String _param = getToken(cmd, ",", 1);
|
||||
if (_command == "padtitleright" || _command == "padtitleright")
|
||||
onSetXuiParam(_command, _param);
|
||||
}
|
||||
|
||||
System.onSetXuiParam(String param, String value) {
|
||||
if (param == "padtitleright") {
|
||||
padright = padright + StringToInteger(value);
|
||||
resizeObjects();
|
||||
}
|
||||
if (param == "padtitleleft") {
|
||||
padleft = padleft + StringToInteger(value);
|
||||
resizeObjects();
|
||||
}
|
||||
}
|
||||
|
||||
resizeObjects() {
|
||||
int text_width = 0;
|
||||
int layout_width = 0;
|
||||
int group_width = sg.getWidth();
|
||||
|
||||
Layout l = sg.getParentLayout();
|
||||
layout_width = l.getWidth();
|
||||
|
||||
if (center != NULL) {
|
||||
text_width = center.getAutoWidth();
|
||||
}
|
||||
|
||||
int lx = (layout_width - text_width) / 2;
|
||||
lx = l.clientToScreenX(lx);
|
||||
lx = sg.screenToClientX(lx);
|
||||
lx = lx - sg.getLeft();
|
||||
|
||||
if (center != NULL) {
|
||||
center.setXmlParam("x", IntegerToString(lx));
|
||||
center.setXmlParam("relatx", "0");
|
||||
center.setXmlParam("w", IntegerToString(text_width));
|
||||
center.setXmlParam("relatw", "0");
|
||||
|
||||
lcenter.setXmlParam("x", IntegerToString(lx));
|
||||
lcenter.setXmlParam("relatx", "0");
|
||||
lcenter.setXmlParam("w", IntegerToString(text_width));
|
||||
lcenter.setXmlParam("relatw", "0");
|
||||
|
||||
}
|
||||
|
||||
if (left != NULL) {
|
||||
left.setXmlParam("x", IntegerToString(padleft));
|
||||
left.setXmlParam("relatx", "0");
|
||||
left.setXmlParam("w", IntegerToString(lx-padleft-MARGIN));
|
||||
left.setXmlParam("relatw", "0");
|
||||
}
|
||||
if (right != NULL) {
|
||||
right.setXmlParam("x", IntegerToString(lx+text_width+MARGIN+1));
|
||||
right.setXmlParam("relatx", "0");
|
||||
right.setXmlParam("w", "-" + IntegerToString(lx+text_width+1+padright+MARGIN+1)); //IntegerToString(group_width-(lx+text_width)));
|
||||
right.setXmlParam("relatw", "1");
|
||||
}
|
||||
}
|
||||
|
||||
tcenter.onTextChanged(string newtext) {
|
||||
resizeObjects();
|
||||
}
|
||||
|
||||
sg.onResize(int x, int y, int w, int h) {
|
||||
resizeObjects();
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue