forked from metin2/client
1
0
Fork 0
client/EterPythonLib/PythonWindowManagerModule.cpp

2523 lines
71 KiB
C++
Raw Normal View History

#include "StdAfx.h"
#include "PythonWindow.h"
#include "PythonSlotWindow.h"
#include "PythonGridSlotWindow.h"
bool PyTuple_GetWindow(PyObject* poArgs, int pos, UI::CWindow ** ppRetWindow)
{
int iHandle;
if (!PyTuple_GetInteger(poArgs, pos, &iHandle))
return false;
if (!iHandle)
return false;
*ppRetWindow = (UI::CWindow*)iHandle;
return true;
}
PyObject * wndMgrGetAspect(PyObject * poSelf, PyObject * poArgs)
{
return Py_BuildValue("f", UI::CWindowManager::Instance().GetAspect());
}
PyObject * wndMgrOnceIgnoreMouseLeftButtonUpEvent(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindowManager::Instance().OnceIgnoreMouseLeftButtonUpEvent();
return Py_BuildNone();
}
PyObject * wndMgrSetMouseHandler(PyObject * poSelf, PyObject * poArgs)
{
PyObject * poHandler;
if (!PyTuple_GetObject(poArgs, 0, &poHandler))
return Py_BuildException();
UI::CWindowManager::Instance().SetMouseHandler(poHandler);
return Py_BuildNone();
}
/////////////////////////////////////////////////////////////////////////////////////////////////
///// Register /////
// Window
PyObject * wndMgrRegister(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindowManager& kWndMgr=UI::CWindowManager::Instance();
UI::CWindow * pWindow = kWndMgr.RegisterWindow(po, szLayer);
if (!pWindow)
return Py_BuildException();
return Py_BuildValue("i", pWindow);
}
// SlotWindow
PyObject * wndMgrRegisterSlotWindow(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterSlotWindow(po, szLayer);
return Py_BuildValue("i", pWindow);
}
// GridSlotWindow
PyObject * wndMgrRegisterGridSlotWindow(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterGridSlotWindow(po, szLayer);
return Py_BuildValue("i", pWindow);
}
// TextLine
PyObject * wndMgrRegisterTextLine(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterTextLine(po, szLayer);
return Py_BuildValue("i", pWindow);
}
// MarkBox
PyObject * wndMgrRegisterMarkBox(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterMarkBox(po, szLayer);
return Py_BuildValue("i", pWindow);
}
// ImageBox
PyObject * wndMgrRegisterImageBox(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterImageBox(po, szLayer);
return Py_BuildValue("i", pWindow);
}
// ExpandedImageBox
PyObject * wndMgrRegisterExpandedImageBox(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterExpandedImageBox(po, szLayer);
return Py_BuildValue("i", pWindow);
}
// AniImageBox
PyObject * wndMgrRegisterAniImageBox(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterAniImageBox(po, szLayer);
return Py_BuildValue("i", pWindow);
}
// RegisterButton
PyObject * wndMgrRegisterButton(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterButton(po, szLayer);
return Py_BuildValue("i", pWindow);
}
// RadioButton
PyObject * wndMgrRegisterRadioButton(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterRadioButton(po, szLayer);
return Py_BuildValue("i", pWindow);
}
// ToggleButton
PyObject * wndMgrRegisterToggleButton(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterToggleButton(po, szLayer);
return Py_BuildValue("i", pWindow);
}
// DragButton
PyObject * wndMgrRegisterDragButton(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterDragButton(po, szLayer);
return Py_BuildValue("i", pWindow);
}
// Box
PyObject * wndMgrRegisterBox(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterBox(po, szLayer);
return Py_BuildValue("i", pWindow);
}
// Bar
PyObject * wndMgrRegisterBar(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterBar(po, szLayer);
return Py_BuildValue("i", pWindow);
}
// Line
PyObject * wndMgrRegisterLine(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterLine(po, szLayer);
return Py_BuildValue("i", pWindow);
}
// Slot
PyObject * wndMgrRegisterBar3D(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterBar3D(po, szLayer);
return Py_BuildValue("i", pWindow);
}
// NumberLine
PyObject * wndMgrRegisterNumberLine(PyObject * poSelf, PyObject * poArgs)
{
PyObject * po;
if (!PyTuple_GetObject(poArgs, 0, &po))
return Py_BuildException();
char * szLayer;
if (!PyTuple_GetString(poArgs, 1, &szLayer))
return Py_BuildException();
UI::CWindow * pWindow = UI::CWindowManager::Instance().RegisterNumberLine(po, szLayer);
return Py_BuildValue("i", pWindow);
}
///// Register /////
/////////////////////////////////////////////////////////////////////////////////////////////////
PyObject * wndMgrDestroy(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
UI::CWindowManager::Instance().DestroyWindow(pWin);
return Py_BuildNone();
}
PyObject * wndMgrIsFocus(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
return Py_BuildValue("i", pWindow == UI::CWindowManager::Instance().GetActivateWindow());
}
PyObject * wndMgrSetFocus(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
UI::CWindowManager::Instance().ActivateWindow(pWin);
return Py_BuildNone();
}
PyObject * wndMgrKillFocus(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (PyTuple_GetWindow(poArgs, 0, &pWin))
{
if (pWin == UI::CWindowManager::Instance().GetActivateWindow())
{
UI::CWindowManager::Instance().DeactivateWindow();
}
}
else
{
UI::CWindowManager::Instance().DeactivateWindow();
}
return Py_BuildNone();
}
PyObject * wndMgrLock(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
UI::CWindowManager::Instance().LockWindow(pWin);
return Py_BuildNone();
}
PyObject * wndMgrUnlock(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindowManager::Instance().UnlockWindow();
return Py_BuildNone();
}
PyObject * wndMgrSetName(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
char * szName;
if (!PyTuple_GetString(poArgs, 1, &szName))
return Py_BuildException();
pWin->SetName(szName);
return Py_BuildNone();
}
PyObject * wndMgrSetTop(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
UI::CWindowManager::Instance().SetTop(pWin);
return Py_BuildNone();
}
PyObject * wndMgrShow(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
pWin->Show();
return Py_BuildNone();
}
PyObject * wndMgrHide(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
pWin->Hide();
return Py_BuildNone();
}
PyObject * wndMgrIsShow(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
return Py_BuildValue("i", pWin->IsShow());
}
PyObject * wndMgrIsRTL(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
return Py_BuildValue("i", pWin->IsFlag(UI::CWindow::FLAG_RTL));
}
PyObject * wndMgrSetScreenSize(PyObject * poSelf, PyObject * poArgs)
{
int width;
if (!PyTuple_GetInteger(poArgs, 0, &width))
return Py_BuildException();
int height;
if (!PyTuple_GetInteger(poArgs, 1, &height))
return Py_BuildException();
UI::CWindowManager::Instance().SetScreenSize(width, height);
return Py_BuildNone();
}
PyObject * wndMgrSetParent(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
UI::CWindow * pParentWin;
if (!PyTuple_GetWindow(poArgs, 1, &pParentWin))
return Py_BuildException();
UI::CWindowManager::Instance().SetParent(pWin, pParentWin);
return Py_BuildNone();
}
PyObject * wndMgrSetPickAlways(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
UI::CWindowManager::Instance().SetPickAlways(pWin);
return Py_BuildNone();
}
PyObject * wndMgrSetWndSize(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int width;
if (!PyTuple_GetInteger(poArgs, 1, &width))
return Py_BuildException();
int height;
if (!PyTuple_GetInteger(poArgs, 2, &height))
return Py_BuildException();
pWin->SetSize(width, height);
return Py_BuildNone();
}
PyObject * wndMgrSetWndPosition(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int x;
if (!PyTuple_GetInteger(poArgs, 1, &x))
return Py_BuildException();
int y;
if (!PyTuple_GetInteger(poArgs, 2, &y))
return Py_BuildException();
pWin->SetPosition(x, y);
return Py_BuildNone();
}
PyObject * wndMgrGetName(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
return Py_BuildValue("s", pWin->GetName());
}
PyObject * wndMgrGetWndWidth(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
return Py_BuildValue("i", pWin->GetWidth());
}
PyObject * wndMgrGetWndHeight(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
return Py_BuildValue("i", pWin->GetHeight());
}
PyObject * wndMgrGetWndLocalPosition(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
long lx, ly;
pWin->GetPosition(&lx, &ly);
return Py_BuildValue("ii", lx, ly);
}
PyObject * wndMgrGetWndGlobalPosition(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
RECT & rRect = pWindow->GetRect();
return Py_BuildValue("ii", rRect.left, rRect.top);
}
PyObject * wndMgrGetWindowRect(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
RECT & rRect = pWin->GetRect();
return Py_BuildValue("iiii", rRect.left, rRect.top, rRect.right - rRect.left, rRect.bottom - rRect.top);
}
PyObject * wndMgrSetWindowHorizontalAlign(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iAlign;
if (!PyTuple_GetInteger(poArgs, 1, &iAlign))
return Py_BuildException();
pWin->SetHorizontalAlign(iAlign);
return Py_BuildNone();
}
PyObject * wndMgrSetWindowVerticalAlign(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iAlign;
if (!PyTuple_GetInteger(poArgs, 1, &iAlign))
return Py_BuildException();
pWin->SetVerticalAlign(iAlign);
return Py_BuildNone();
}
PyObject * wndMgrIsIn(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
return Py_BuildValue("i", pWin == UI::CWindowManager::Instance().GetPointWindow());
}
PyObject * wndMgrGetMouseLocalPosition(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
long lx, ly;
pWin->GetMouseLocalPosition(lx, ly);
return Py_BuildValue("ii", lx, ly);
}
PyObject * wndMgrGetHyperlink(PyObject * poSelf, PyObject * poArgs)
{
char retBuf[1024];
int retLen = CGraphicTextInstance::Hyperlink_GetText(retBuf, sizeof(retBuf)-1);
retBuf[retLen] = '\0';
return Py_BuildValue("s#", retBuf, retLen);
}
PyObject * wndMgrGetScreenWidth(PyObject * poSelf, PyObject * poArgs)
{
return Py_BuildValue("i", UI::CWindowManager::Instance().GetScreenWidth());
}
PyObject * wndMgrGetScreenHeight(PyObject * poSelf, PyObject * poArgs)
{
return Py_BuildValue("i", UI::CWindowManager::Instance().GetScreenHeight());
}
PyObject * wndMgrGetMousePosition(PyObject * poSelf, PyObject * poArgs)
{
long lx, ly;
UI::CWindowManager::Instance().GetMousePosition(lx, ly);
return Py_BuildValue("ii", lx, ly);
}
PyObject * wndMgrIsDragging(PyObject * poSelf, PyObject * poArgs)
{
return Py_BuildValue("i", UI::CWindowManager::Instance().IsDragging());
}
PyObject * wndMgrIsPickedWindow(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
UI::CWindow * pPickedWin = UI::CWindowManager::Instance().GetPointWindow();
return Py_BuildValue("i", pWin == pPickedWin ? 1 : 0);
}
PyObject * wndMgrGetChildCount(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
return Py_BuildValue("i", pWin->GetChildCount());
}
PyObject * wndMgrAddFlag(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
char * pszFlag;
if (!PyTuple_GetString(poArgs, 1, &pszFlag))
return Py_BuildException();
if (pszFlag && *pszFlag)
{
if (!stricmp(pszFlag, "movable"))
pWin->AddFlag(UI::CWindow::FLAG_MOVABLE);
else if (!stricmp(pszFlag, "limit"))
pWin->AddFlag(UI::CWindow::FLAG_LIMIT);
else if (!stricmp(pszFlag, "dragable"))
pWin->AddFlag(UI::CWindow::FLAG_DRAGABLE);
else if (!stricmp(pszFlag, "attach"))
pWin->AddFlag(UI::CWindow::FLAG_ATTACH);
else if (!stricmp(pszFlag, "restrict_x"))
pWin->AddFlag(UI::CWindow::FLAG_RESTRICT_X);
else if (!stricmp(pszFlag, "restrict_y"))
pWin->AddFlag(UI::CWindow::FLAG_RESTRICT_Y);
else if (!stricmp(pszFlag, "float"))
pWin->AddFlag(UI::CWindow::FLAG_FLOAT);
else if (!stricmp(pszFlag, "not_pick"))
pWin->AddFlag(UI::CWindow::FLAG_NOT_PICK);
else if (!stricmp(pszFlag, "ignore_size"))
pWin->AddFlag(UI::CWindow::FLAG_IGNORE_SIZE);
else if (!stricmp(pszFlag, "rtl"))
pWin->AddFlag(UI::CWindow::FLAG_RTL);
else if (!stricmp(pszFlag, "ltr"))
pWin->RemoveFlag(UI::CWindow::FLAG_RTL);
else
TraceError("Unknown window flag %s", pszFlag);
}
return Py_BuildNone();
}
PyObject * wndMgrSetLimitBias(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int l;
if (!PyTuple_GetInteger(poArgs, 1, &l))
return Py_BuildException();
int r;
if (!PyTuple_GetInteger(poArgs, 2, &r))
return Py_BuildException();
int t;
if (!PyTuple_GetInteger(poArgs, 3, &t))
return Py_BuildException();
int b;
if (!PyTuple_GetInteger(poArgs, 4, &b))
return Py_BuildException();
pWin->SetLimitBias(l, r, t, b);
return Py_BuildNone();
}
PyObject * wndMgrUpdateRect(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
pWin->UpdateRect();
return Py_BuildNone();
}
PyObject * wndMgrAppendSlot(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iIndex))
return Py_BuildException();
int ixPosition;
if (!PyTuple_GetInteger(poArgs, 2, &ixPosition))
return Py_BuildException();
int iyPosition;
if (!PyTuple_GetInteger(poArgs, 3, &iyPosition))
return Py_BuildException();
int ixCellSize;
if (!PyTuple_GetInteger(poArgs, 4, &ixCellSize))
return Py_BuildException();
int iyCellSize;
if (!PyTuple_GetInteger(poArgs, 5, &iyCellSize))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->AppendSlot(iIndex, ixPosition, iyPosition, ixCellSize, iyCellSize);
return Py_BuildNone();
}
PyObject * wndMgrArrangeSlot(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iStartIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iStartIndex))
return Py_BuildException();
int ixCellCount;
if (!PyTuple_GetInteger(poArgs, 2, &ixCellCount))
return Py_BuildException();
int iyCellCount;
if (!PyTuple_GetInteger(poArgs, 3, &iyCellCount))
return Py_BuildException();
int ixCellSize;
if (!PyTuple_GetInteger(poArgs, 4, &ixCellSize))
return Py_BuildException();
int iyCellSize;
if (!PyTuple_GetInteger(poArgs, 5, &iyCellSize))
return Py_BuildException();
int ixBlank;
if (!PyTuple_GetInteger(poArgs, 6, &ixBlank))
return Py_BuildException();
int iyBlank;
if (!PyTuple_GetInteger(poArgs, 7, &iyBlank))
return Py_BuildException();
if (!pWin->IsType(UI::CGridSlotWindow::Type()))
{
TraceError("wndMgr.ArrangeSlot : not a grid window");
return Py_BuildException();
}
UI::CGridSlotWindow * pGridSlotWin = (UI::CGridSlotWindow *)pWin;
pGridSlotWin->ArrangeGridSlot(iStartIndex, ixCellCount, iyCellCount, ixCellSize, iyCellSize, ixBlank, iyBlank);
return Py_BuildNone();
}
PyObject * wndMgrSetSlotBaseImage(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
char * szFileName;
if (!PyTuple_GetString(poArgs, 1, &szFileName))
return Py_BuildException();
float fr;
if (!PyTuple_GetFloat(poArgs, 2, &fr))
return Py_BuildException();
float fg;
if (!PyTuple_GetFloat(poArgs, 3, &fg))
return Py_BuildException();
float fb;
if (!PyTuple_GetFloat(poArgs, 4, &fb))
return Py_BuildException();
float fa;
if (!PyTuple_GetFloat(poArgs, 5, &fa))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
{
TraceError("wndMgr.ArrangeSlot : not a slot window");
return Py_BuildException();
}
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->SetSlotBaseImage(szFileName, fr, fg, fb, fa);
return Py_BuildNone();
}
PyObject * wndMgrSetCoverButton(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
char * szUpImageName;
if (!PyTuple_GetString(poArgs, 2, &szUpImageName))
return Py_BuildException();
char * szOverImageName;
if (!PyTuple_GetString(poArgs, 3, &szOverImageName))
return Py_BuildException();
char * szDownImageName;
if (!PyTuple_GetString(poArgs, 4, &szDownImageName))
return Py_BuildException();
char * szDisableImageName;
if (!PyTuple_GetString(poArgs, 5, &szDisableImageName))
return Py_BuildException();
int iLeftButtonEnable;
if (!PyTuple_GetInteger(poArgs, 6, &iLeftButtonEnable))
return Py_BuildException();
int iRightButtonEnable;
if (!PyTuple_GetInteger(poArgs, 7, &iRightButtonEnable))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWindow;
pSlotWin->SetCoverButton(iSlotIndex, szUpImageName, szOverImageName, szDownImageName, szDisableImageName, iLeftButtonEnable, iRightButtonEnable);
return Py_BuildNone();
}
PyObject * wndMgrEnableCoverButton(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWindow;
pSlotWin->EnableCoverButton(iSlotIndex);
return Py_BuildNone();
}
PyObject * wndMgrDisableCoverButton(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWindow;
pSlotWin->DisableCoverButton(iSlotIndex);
return Py_BuildNone();
}
PyObject * wndMgrIsDisableCoverButton(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWindow;
return Py_BuildValue("i", pSlotWin->IsDisableCoverButton(iSlotIndex));
}
PyObject * wndMgrSetAlwaysRenderCoverButton(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iSlotIndex;
bool bAlwaysRender = false;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
if (!PyTuple_GetBoolean(poArgs, 2, &bAlwaysRender))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWindow;
pSlotWin->SetAlwaysRenderCoverButton(iSlotIndex, bAlwaysRender);
return Py_BuildNone();
}
PyObject * wndMgrAppendSlotButton(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
char * szUpImageName;
if (!PyTuple_GetString(poArgs, 1, &szUpImageName))
return Py_BuildException();
char * szOverImageName;
if (!PyTuple_GetString(poArgs, 2, &szOverImageName))
return Py_BuildException();
char * szDownImageName;
if (!PyTuple_GetString(poArgs, 3, &szDownImageName))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWindow;
pSlotWin->AppendSlotButton(szUpImageName, szOverImageName, szDownImageName);
return Py_BuildNone();
}
PyObject * wndMgrAppendRequirementSignImage(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
char * szImageName;
if (!PyTuple_GetString(poArgs, 1, &szImageName))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWindow;
pSlotWin->AppendRequirementSignImage(szImageName);
return Py_BuildNone();
}
PyObject * wndMgrShowSlotButton(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iSlotNumber;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotNumber))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWindow;
pSlotWin->ShowSlotButton(iSlotNumber);
return Py_BuildNone();
}
PyObject * wndMgrHideAllSlotButton(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWindow;
pSlotWin->HideAllSlotButton();
return Py_BuildNone();
}
PyObject * wndMgrShowRequirementSign(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iSlotNumber;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotNumber))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWindow;
pSlotWin->ShowRequirementSign(iSlotNumber);
return Py_BuildNone();
}
PyObject * wndMgrHideRequirementSign(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iSlotNumber;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotNumber))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWindow;
pSlotWin->HideRequirementSign(iSlotNumber);
return Py_BuildNone();
}
PyObject * wndMgrRefreshSlot(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->RefreshSlot();
return Py_BuildNone();
}
PyObject * wndMgrSetUseMode(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iFlag;
if (!PyTuple_GetInteger(poArgs, 1, &iFlag))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->SetUseMode(iFlag);
return Py_BuildNone();
}
PyObject * wndMgrSetUsableItem(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iFlag;
if (!PyTuple_GetInteger(poArgs, 1, &iFlag))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->SetUsableItem(iFlag);
return Py_BuildNone();
}
PyObject * wndMgrClearSlot(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->ClearSlot(iSlotIndex);
return Py_BuildNone();
}
PyObject * wndMgrClearAllSlot(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->ClearAllSlot();
return Py_BuildNone();
}
PyObject * wndMgrHasSlot(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
return Py_BuildValue("i", pSlotWin->HasSlot(iSlotIndex));
}
PyObject * wndMgrSetSlot(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
int iItemIndex;
if (!PyTuple_GetInteger(poArgs, 2, &iItemIndex))
return Py_BuildException();
int iWidth;
if (!PyTuple_GetInteger(poArgs, 3, &iWidth))
return Py_BuildException();
int iHeight;
if (!PyTuple_GetInteger(poArgs, 4, &iHeight))
return Py_BuildException();
int iImageHandle;
if (!PyTuple_GetInteger(poArgs, 5, &iImageHandle))
return Py_BuildException();
D3DXCOLOR diffuseColor;
PyObject* pTuple;
if (!PyTuple_GetObject(poArgs, 6, &pTuple))
{
diffuseColor = D3DXCOLOR(1.0, 1.0, 1.0, 1.0);
//return Py_BuildException();
}
else
// get diffuse color from pTuple
{
if (PyTuple_Size(pTuple) != 4)
return Py_BuildException();
if (!PyTuple_GetFloat(pTuple, 0, &diffuseColor.r))
return Py_BuildException();
if (!PyTuple_GetFloat(pTuple, 1, &diffuseColor.g))
return Py_BuildException();
if (!PyTuple_GetFloat(pTuple, 2, &diffuseColor.b))
return Py_BuildException();
if (!PyTuple_GetFloat(pTuple, 3, &diffuseColor.a))
return Py_BuildException();
}
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->SetSlot(iSlotIndex, iItemIndex, iWidth, iHeight, (CGraphicImage *)iImageHandle, diffuseColor);
return Py_BuildNone();
}
PyObject * wndMgrSetSlotCount(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
int iCount;
if (!PyTuple_GetInteger(poArgs, 2, &iCount))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->SetSlotCount(iSlotIndex, iCount);
return Py_BuildNone();
}
PyObject * wndMgrSetSlotCountNew(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
int iGrade;
if (!PyTuple_GetInteger(poArgs, 2, &iGrade))
return Py_BuildException();
int iCount;
if (!PyTuple_GetInteger(poArgs, 3, &iCount))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->SetSlotCountNew(iSlotIndex, iGrade, iCount);
return Py_BuildNone();
}
PyObject * wndMgrSetSlotCoolTime(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
float fCoolTime;
if (!PyTuple_GetFloat(poArgs, 2, &fCoolTime))
return Py_BuildException();
float fElapsedTime = 0.0f;
PyTuple_GetFloat(poArgs, 3, &fElapsedTime);
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->SetSlotCoolTime(iSlotIndex, fCoolTime, fElapsedTime);
return Py_BuildNone();
}
PyObject * wndMgrSetToggleSlot(PyObject * poSelf, PyObject * poArgs)
{
assert(!"wndMgrSetToggleSlot - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20>Լ<EFBFBD>");
return Py_BuildNone();
}
PyObject * wndMgrActivateSlot(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->ActivateSlot(iSlotIndex);
return Py_BuildNone();
}
PyObject * wndMgrDeactivateSlot(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->DeactivateSlot(iSlotIndex);
return Py_BuildNone();
}
PyObject * wndMgrEnableSlot(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->EnableSlot(iSlotIndex);
return Py_BuildNone();
}
PyObject * wndMgrDisableSlot(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->DisableSlot(iSlotIndex);
return Py_BuildNone();
}
PyObject * wndMgrShowSlotBaseImage(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->ShowSlotBaseImage(iSlotIndex);
return Py_BuildNone();
}
PyObject * wndMgrHideSlotBaseImage(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->HideSlotBaseImage(iSlotIndex);
return Py_BuildNone();
}
PyObject * wndMgrSetSlotType(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iType;
if (!PyTuple_GetInteger(poArgs, 1, &iType))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->SetSlotType(iType);
return Py_BuildNone();
}
PyObject * wndMgrSetSlotStyle(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iStyle;
if (!PyTuple_GetInteger(poArgs, 1, &iStyle))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->SetSlotStyle(iStyle);
return Py_BuildNone();
}
PyObject * wndMgrSelectSlot(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iIndex))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->SelectSlot(iIndex);
return Py_BuildNone();
}
PyObject * wndMgrClearSelected(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->ClearSelected();
return Py_BuildNone();
}
PyObject * wndMgrGetSelectedSlotCount(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
return Py_BuildValue("i", pSlotWin->GetSelectedSlotCount());
}
PyObject * wndMgrGetSelectedSlotNumber(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotNumber;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotNumber))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
return Py_BuildValue("i", pSlotWin->GetSelectedSlotNumber(iSlotNumber));
}
PyObject * wndMgrIsSelectedSlot(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotNumber;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotNumber))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
return Py_BuildValue("i", pSlotWin->isSelectedSlot(iSlotNumber));
}
PyObject * wndMgrGetSlotCount(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
return Py_BuildValue("i", pSlotWin->GetSlotCount());
}
PyObject * wndMgrLockSlot(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->LockSlot(iSlotIndex);
return Py_BuildNone();
}
PyObject * wndMgrUnlockSlot(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWin;
if (!PyTuple_GetWindow(poArgs, 0, &pWin))
return Py_BuildException();
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
return Py_BuildException();
if (!pWin->IsType(UI::CSlotWindow::Type()))
return Py_BuildException();
UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
pSlotWin->UnlockSlot(iSlotIndex);
return Py_BuildNone();
}
PyObject * wndBarSetColor(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iColor;
if (!PyTuple_GetInteger(poArgs, 1, &iColor))
return Py_BuildException();
if (pWindow->IsType(UI::CBar3D::Type()))
{
int iLeftColor = iColor;
int iRightColor;
if (!PyTuple_GetInteger(poArgs, 2, &iRightColor))
return Py_BuildException();
int iCenterColor;
if (!PyTuple_GetInteger(poArgs, 3, &iCenterColor))
return Py_BuildException();
((UI::CBar3D *)pWindow)->SetColor(iLeftColor, iRightColor, iCenterColor);
}
else
{
((UI::CWindow *)pWindow)->SetColor(iColor);
}
return Py_BuildNone();
}
PyObject * wndMgrAttachIcon(PyObject * poSelf, PyObject * poArgs)
{
int iType;
if (!PyTuple_GetInteger(poArgs, 0, &iType))
return Py_BuildException();
int iIndex;
if (!PyTuple_GetInteger(poArgs, 1, &iIndex))
return Py_BuildException();
int iSlotNumber;
if (!PyTuple_GetInteger(poArgs, 2, &iSlotNumber))
return Py_BuildException();
int iWidth;
if (!PyTuple_GetInteger(poArgs, 3, &iWidth))
return Py_BuildException();
int iHeight;
if (!PyTuple_GetInteger(poArgs, 4, &iHeight))
return Py_BuildException();
UI::CWindowManager::Instance().AttachIcon(iType, iIndex, iSlotNumber, iWidth, iHeight);
return Py_BuildNone();
}
PyObject * wndMgrDeattachIcon(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindowManager::Instance().DeattachIcon();
return Py_BuildNone();
}
PyObject * wndMgrSetAttachingFlag(PyObject * poSelf, PyObject * poArgs)
{
BOOL bFlag;
if (!PyTuple_GetInteger(poArgs, 0, &bFlag))
return Py_BuildException();
UI::CWindowManager::Instance().SetAttachingFlag(bFlag);
return Py_BuildNone();
}
// Text
PyObject * wndTextSetMax(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iMax;
if (!PyTuple_GetInteger(poArgs, 1, &iMax))
return Py_BuildException();
((UI::CTextLine*)pWindow)->SetMax(iMax);
return Py_BuildNone();
}
PyObject * wndTextSetHorizontalAlign(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iType;
if (!PyTuple_GetInteger(poArgs, 1, &iType))
return Py_BuildException();
((UI::CTextLine*)pWindow)->SetHorizontalAlign(iType);
return Py_BuildNone();
}
PyObject * wndTextSetVerticalAlign(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iType;
if (!PyTuple_GetInteger(poArgs, 1, &iType))
return Py_BuildException();
((UI::CTextLine*)pWindow)->SetVerticalAlign(iType);
return Py_BuildNone();
}
PyObject * wndTextSetSecret(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iFlag;
if (!PyTuple_GetInteger(poArgs, 1, &iFlag))
return Py_BuildException();
((UI::CTextLine*)pWindow)->SetSecret(iFlag);
return Py_BuildNone();
}
PyObject * wndTextSetOutline(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iFlag;
if (!PyTuple_GetInteger(poArgs, 1, &iFlag))
return Py_BuildException();
((UI::CTextLine*)pWindow)->SetOutline(iFlag);
return Py_BuildNone();
}
PyObject * wndTextSetFeather(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iFlag;
if (!PyTuple_GetInteger(poArgs, 1, &iFlag))
return Py_BuildException();
((UI::CTextLine*)pWindow)->SetFeather(iFlag);
return Py_BuildNone();
}
PyObject * wndTextSetMultiLine(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iFlag;
if (!PyTuple_GetInteger(poArgs, 1, &iFlag))
return Py_BuildException();
((UI::CTextLine*)pWindow)->SetMultiLine(iFlag);
return Py_BuildNone();
}
PyObject * wndTextSetFontName(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
char * szFontName;
if (!PyTuple_GetString(poArgs, 1, &szFontName))
return Py_BuildException();
((UI::CTextLine*)pWindow)->SetFontName(szFontName);
return Py_BuildNone();
}
PyObject * wndTextSetFontColor(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
if (2 == PyTuple_Size(poArgs))
{
int iColor;
if (!PyTuple_GetInteger(poArgs, 1, &iColor))
return Py_BuildException();
((UI::CTextLine*)pWindow)->SetFontColor(iColor);
}
else if (4 == PyTuple_Size(poArgs))
{
float fr;
if (!PyTuple_GetFloat(poArgs, 1, &fr))
return Py_BuildException();
float fg;
if (!PyTuple_GetFloat(poArgs, 2, &fg))
return Py_BuildException();
float fb;
if (!PyTuple_GetFloat(poArgs, 3, &fb))
return Py_BuildException();
float fa = 1.0f;
BYTE argb[4] =
{
(BYTE) (255.0f * fb),
(BYTE) (255.0f * fg),
(BYTE) (255.0f * fr),
(BYTE) (255.0f * fa)
};
((UI::CTextLine*)pWindow)->SetFontColor(*((DWORD *) argb));
}
else
{
return Py_BuildException();
}
return Py_BuildNone();
}
PyObject * wndTextSetLimitWidth(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
float fWidth;
if (!PyTuple_GetFloat(poArgs, 1, &fWidth))
return Py_BuildException();
((UI::CTextLine*)pWindow)->SetLimitWidth(fWidth);
return Py_BuildNone();
}
PyObject * wndTextSetText(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
char * szText;
if (!PyTuple_GetString(poArgs, 1, &szText))
return Py_BuildException();
((UI::CTextLine*)pWindow)->SetText(szText);
return Py_BuildNone();
}
PyObject * wndTextGetText(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
return Py_BuildValue("s", ((UI::CTextLine*)pWindow)->GetText());
}
PyObject * wndTextGetTextSize(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int nWidth;
int nHeight;
UI::CTextLine* pkTextLine=(UI::CTextLine*)pWindow;
pkTextLine->GetTextSize(&nWidth, &nHeight);
return Py_BuildValue("(ii)", nWidth, nHeight);
}
PyObject * wndTextShowCursor(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
((UI::CTextLine*)pWindow)->ShowCursor();
return Py_BuildNone();
}
PyObject * wndTextHideCursor(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
((UI::CTextLine*)pWindow)->HideCursor();
return Py_BuildNone();
}
PyObject * wndTextGetCursorPosition(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
return Py_BuildValue("i", ((UI::CTextLine*)pWindow)->GetCursorPosition());
}
PyObject * wndNumberSetNumber(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
char * szNumber;
if (!PyTuple_GetString(poArgs, 1, &szNumber))
return Py_BuildException();
((UI::CNumberLine*)pWindow)->SetNumber(szNumber);
return Py_BuildNone();
}
PyObject * wndNumberSetNumberHorizontalAlignCenter(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
((UI::CNumberLine*)pWindow)->SetHorizontalAlign(UI::CWindow::HORIZONTAL_ALIGN_CENTER);
return Py_BuildNone();
}
PyObject * wndNumberSetNumberHorizontalAlignRight(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
((UI::CNumberLine*)pWindow)->SetHorizontalAlign(UI::CWindow::HORIZONTAL_ALIGN_RIGHT);
return Py_BuildNone();
}
PyObject * wndNumberSetPath(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
char * szPath;
if (!PyTuple_GetString(poArgs, 1, &szPath))
return Py_BuildException();
((UI::CNumberLine*)pWindow)->SetPath(szPath);
return Py_BuildNone();
}
PyObject * wndMarkBox_SetImageFilename(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
char * szFileName;
if (!PyTuple_GetString(poArgs, 1, &szFileName))
return Py_BuildException();
((UI::CMarkBox*)pWindow)->LoadImage(szFileName);
return Py_BuildNone();
}
PyObject * wndMarkBox_SetImage(PyObject * poSelf, PyObject * poArgs)
{
// <20>ƹ<EFBFBD><C6B9>͵<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
return Py_BuildNone();
}
PyObject * wndMarkBox_Load(PyObject * poSelf, PyObject * poArgs)
{
// <20>ƹ<EFBFBD><C6B9>͵<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
return Py_BuildNone();
}
PyObject * wndMarkBox_SetIndex(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int nIndex;
if (!PyTuple_GetInteger(poArgs, 1, &nIndex))
return Py_BuildException();
((UI::CMarkBox*)pWindow)->SetIndex(nIndex);
return Py_BuildNone();
}
PyObject * wndMarkBox_SetScale(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
float fScale;
if (!PyTuple_GetFloat(poArgs, 1, &fScale))
return Py_BuildException();
((UI::CMarkBox*)pWindow)->SetScale(fScale);
return Py_BuildNone();
}
PyObject * wndMarkBox_SetDiffuseColor(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
float fr;
if (!PyTuple_GetFloat(poArgs, 1, &fr))
return Py_BuildException();
float fg;
if (!PyTuple_GetFloat(poArgs, 2, &fg))
return Py_BuildException();
float fb;
if (!PyTuple_GetFloat(poArgs, 3, &fb))
return Py_BuildException();
float fa;
if (!PyTuple_GetFloat(poArgs, 4, &fa))
return Py_BuildException();
((UI::CMarkBox*)pWindow)->SetDiffuseColor(fr, fg, fb, fa);
return Py_BuildNone();
}
PyObject * wndImageLoadImage(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
char * szFileName;
if (!PyTuple_GetString(poArgs, 1, &szFileName))
return Py_BuildException();
if (!((UI::CImageBox*)pWindow)->LoadImage(szFileName))
return Py_BuildException("Failed to load image (filename: %s)", szFileName);
return Py_BuildNone();
}
PyObject * wndImageSetDiffuseColor(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
float fr;
if (!PyTuple_GetFloat(poArgs, 1, &fr))
return Py_BuildException();
float fg;
if (!PyTuple_GetFloat(poArgs, 2, &fg))
return Py_BuildException();
float fb;
if (!PyTuple_GetFloat(poArgs, 3, &fb))
return Py_BuildException();
float fa;
if (!PyTuple_GetFloat(poArgs, 4, &fa))
return Py_BuildException();
((UI::CImageBox*)pWindow)->SetDiffuseColor(fr, fg, fb, fa);
return Py_BuildNone();
}
PyObject * wndImageGetWidth(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
return Py_BuildValue("i", ((UI::CImageBox*)pWindow)->GetWidth());
}
PyObject * wndImageGetHeight(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
return Py_BuildValue("i", ((UI::CImageBox*)pWindow)->GetHeight());
}
PyObject * wndImageSetScale(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
float fx;
if (!PyTuple_GetFloat(poArgs, 1, &fx))
return Py_BuildException();
float fy;
if (!PyTuple_GetFloat(poArgs, 2, &fy))
return Py_BuildException();
((UI::CExpandedImageBox*)pWindow)->SetScale(fx, fy);
return Py_BuildNone();
}
PyObject * wndImageSetOrigin(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
float fx;
if (!PyTuple_GetFloat(poArgs, 1, &fx))
return Py_BuildException();
float fy;
if (!PyTuple_GetFloat(poArgs, 2, &fy))
return Py_BuildException();
((UI::CExpandedImageBox*)pWindow)->SetOrigin(fx, fy);
return Py_BuildNone();
}
PyObject * wndImageSetRotation(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
float fRotation;
if (!PyTuple_GetFloat(poArgs, 1, &fRotation))
return Py_BuildException();
((UI::CExpandedImageBox*)pWindow)->SetRotation(fRotation);
return Py_BuildNone();
}
PyObject * wndImageSetRenderingRect(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
float fLeft;
if (!PyTuple_GetFloat(poArgs, 1, &fLeft))
return Py_BuildException();
float fTop;
if (!PyTuple_GetFloat(poArgs, 2, &fTop))
return Py_BuildException();
float fRight;
if (!PyTuple_GetFloat(poArgs, 3, &fRight))
return Py_BuildException();
float fBottom;
if (!PyTuple_GetFloat(poArgs, 4, &fBottom))
return Py_BuildException();
if (pWindow->IsType(UI::CExpandedImageBox::Type()))
((UI::CExpandedImageBox*)pWindow)->SetRenderingRect(fLeft, fTop, fRight, fBottom);
else if (pWindow->IsType(UI::CAniImageBox::Type()))
((UI::CAniImageBox*)pWindow)->SetRenderingRect(fLeft, fTop, fRight, fBottom);
return Py_BuildNone();
}
PyObject * wndImageSetRenderingMode(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int iMode;
if (!PyTuple_GetInteger(poArgs, 1, &iMode))
return Py_BuildException();
if (pWindow->IsType(UI::CExpandedImageBox::Type()))
((UI::CExpandedImageBox*)pWindow)->SetRenderingMode(iMode);
return Py_BuildNone();
}
PyObject * wndImageSetDelay(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
float fDelay;
if (!PyTuple_GetFloat(poArgs, 1, &fDelay))
return Py_BuildException();
((UI::CAniImageBox*)pWindow)->SetDelay(fDelay);
return Py_BuildNone();
}
PyObject * wndImageAppendImage(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
char * szFileName;
if (!PyTuple_GetString(poArgs, 1, &szFileName))
return Py_BuildException();
((UI::CAniImageBox*)pWindow)->AppendImage(szFileName);
return Py_BuildNone();
}
PyObject * wndButtonSetUpVisual(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
char * szFileName;
if (!PyTuple_GetString(poArgs, 1, &szFileName))
return Py_BuildException();
((UI::CButton*)pWindow)->SetUpVisual(szFileName);
return Py_BuildNone();
}
PyObject * wndButtonSetOverVisual(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
char * szFileName;
if (!PyTuple_GetString(poArgs, 1, &szFileName))
return Py_BuildException();
((UI::CButton*)pWindow)->SetOverVisual(szFileName);
return Py_BuildNone();
}
PyObject * wndButtonSetDownVisual(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
char * szFileName;
if (!PyTuple_GetString(poArgs, 1, &szFileName))
return Py_BuildException();
((UI::CButton*)pWindow)->SetDownVisual(szFileName);
return Py_BuildNone();
}
PyObject * wndButtonSetDisableVisual(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
char * szFileName;
if (!PyTuple_GetString(poArgs, 1, &szFileName))
return Py_BuildException();
((UI::CButton*)pWindow)->SetDisableVisual(szFileName);
return Py_BuildNone();
}
PyObject * wndButtonGetUpVisualFileName(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
return Py_BuildValue("s", ((UI::CButton*)pWindow)->GetUpVisualFileName());
}
PyObject * wndButtonGetOverVisualFileName(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
return Py_BuildValue("s", ((UI::CButton*)pWindow)->GetOverVisualFileName());
}
PyObject * wndButtonGetDownVisualFileName(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
return Py_BuildValue("s", ((UI::CButton*)pWindow)->GetDownVisualFileName());
}
PyObject * wndButtonFlash(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
((UI::CButton*)pWindow)->Flash();
return Py_BuildNone();
}
PyObject * wndButtonEnable(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
((UI::CButton*)pWindow)->Enable();
return Py_BuildNone();
}
PyObject * wndButtonDisable(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
((UI::CButton*)pWindow)->Disable();
return Py_BuildNone();
}
PyObject * wndButtonDown(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
((UI::CButton*)pWindow)->Down();
return Py_BuildNone();
}
PyObject * wndButtonSetUp(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
((UI::CButton*)pWindow)->SetUp();
return Py_BuildNone();
}
PyObject * wndButtonSetRestrictMovementArea(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
int ix;
if (!PyTuple_GetInteger(poArgs, 1, &ix))
return Py_BuildException();
int iy;
if (!PyTuple_GetInteger(poArgs, 2, &iy))
return Py_BuildException();
int iwidth;
if (!PyTuple_GetInteger(poArgs, 3, &iwidth))
return Py_BuildException();
int iheight;
if (!PyTuple_GetInteger(poArgs, 4, &iheight))
return Py_BuildException();
((UI::CDragButton*)pWindow)->SetRestrictMovementArea(ix, iy, iwidth, iheight);
return Py_BuildNone();
}
PyObject * wndButtonIsDown(PyObject * poSelf, PyObject * poArgs)
{
UI::CWindow * pWindow;
if (!PyTuple_GetWindow(poArgs, 0, &pWindow))
return Py_BuildException();
return Py_BuildValue("i", ((UI::CButton*)pWindow)->IsPressed());
}
extern BOOL g_bOutlineBoxEnable;
extern BOOL g_bShowOverInWindowName;
PyObject * wndMgrSetOutlineFlag(PyObject * poSelf, PyObject * poArgs)
{
int iFlag;
if (!PyTuple_GetInteger(poArgs, 0, &iFlag))
return Py_BuildException();
g_bOutlineBoxEnable = iFlag;
return Py_BuildNone();
}
PyObject * wndMgrShowOverInWindowName(PyObject * poSelf, PyObject * poArgs)
{
int iFlag;
if (!PyTuple_GetInteger(poArgs, 0, &iFlag))
return Py_BuildException();
g_bShowOverInWindowName = iFlag;
return Py_BuildNone();
}
void initwndMgr()
{
static PyMethodDef s_methods[] =
{
// WindowManager
{ "SetMouseHandler", wndMgrSetMouseHandler, METH_VARARGS },
{ "SetScreenSize", wndMgrSetScreenSize, METH_VARARGS },
{ "GetScreenWidth", wndMgrGetScreenWidth, METH_VARARGS },
{ "GetScreenHeight", wndMgrGetScreenHeight, METH_VARARGS },
{ "AttachIcon", wndMgrAttachIcon, METH_VARARGS },
{ "DeattachIcon", wndMgrDeattachIcon, METH_VARARGS },
{ "SetAttachingFlag", wndMgrSetAttachingFlag, METH_VARARGS },
{ "GetAspect", wndMgrGetAspect, METH_VARARGS },
{ "GetHyperlink", wndMgrGetHyperlink, METH_VARARGS },
{ "OnceIgnoreMouseLeftButtonUpEvent", wndMgrOnceIgnoreMouseLeftButtonUpEvent, METH_VARARGS },
// Window
{ "Register", wndMgrRegister, METH_VARARGS },
{ "RegisterSlotWindow", wndMgrRegisterSlotWindow, METH_VARARGS },
{ "RegisterGridSlotWindow", wndMgrRegisterGridSlotWindow, METH_VARARGS },
{ "RegisterTextLine", wndMgrRegisterTextLine, METH_VARARGS },
{ "RegisterMarkBox", wndMgrRegisterMarkBox, METH_VARARGS },
{ "RegisterImageBox", wndMgrRegisterImageBox, METH_VARARGS },
{ "RegisterExpandedImageBox", wndMgrRegisterExpandedImageBox, METH_VARARGS },
{ "RegisterAniImageBox", wndMgrRegisterAniImageBox, METH_VARARGS },
{ "RegisterButton", wndMgrRegisterButton, METH_VARARGS },
{ "RegisterRadioButton", wndMgrRegisterRadioButton, METH_VARARGS },
{ "RegisterToggleButton", wndMgrRegisterToggleButton, METH_VARARGS },
{ "RegisterDragButton", wndMgrRegisterDragButton, METH_VARARGS },
{ "RegisterBox", wndMgrRegisterBox, METH_VARARGS },
{ "RegisterBar", wndMgrRegisterBar, METH_VARARGS },
{ "RegisterLine", wndMgrRegisterLine, METH_VARARGS },
{ "RegisterBar3D", wndMgrRegisterBar3D, METH_VARARGS },
{ "RegisterNumberLine", wndMgrRegisterNumberLine, METH_VARARGS },
{ "Destroy", wndMgrDestroy, METH_VARARGS },
{ "AddFlag", wndMgrAddFlag, METH_VARARGS },
{ "IsRTL", wndMgrIsRTL, METH_VARARGS },
// Base Window
{ "SetName", wndMgrSetName, METH_VARARGS },
{ "GetName", wndMgrGetName, METH_VARARGS },
{ "SetTop", wndMgrSetTop, METH_VARARGS },
{ "Show", wndMgrShow, METH_VARARGS },
{ "Hide", wndMgrHide, METH_VARARGS },
{ "IsShow", wndMgrIsShow, METH_VARARGS },
{ "SetParent", wndMgrSetParent, METH_VARARGS },
{ "SetPickAlways", wndMgrSetPickAlways, METH_VARARGS },
{ "IsFocus", wndMgrIsFocus, METH_VARARGS },
{ "SetFocus", wndMgrSetFocus, METH_VARARGS },
{ "KillFocus", wndMgrKillFocus, METH_VARARGS },
{ "Lock", wndMgrLock, METH_VARARGS },
{ "Unlock", wndMgrUnlock, METH_VARARGS },
{ "SetWindowSize", wndMgrSetWndSize, METH_VARARGS },
{ "SetWindowPosition", wndMgrSetWndPosition, METH_VARARGS },
{ "GetWindowWidth", wndMgrGetWndWidth, METH_VARARGS },
{ "GetWindowHeight", wndMgrGetWndHeight, METH_VARARGS },
{ "GetWindowLocalPosition", wndMgrGetWndLocalPosition, METH_VARARGS },
{ "GetWindowGlobalPosition", wndMgrGetWndGlobalPosition, METH_VARARGS },
{ "GetWindowRect", wndMgrGetWindowRect, METH_VARARGS },
{ "SetWindowHorizontalAlign", wndMgrSetWindowHorizontalAlign, METH_VARARGS },
{ "SetWindowVerticalAlign", wndMgrSetWindowVerticalAlign, METH_VARARGS },
{ "GetChildCount", wndMgrGetChildCount, METH_VARARGS },
{ "IsPickedWindow", wndMgrIsPickedWindow, METH_VARARGS },
{ "IsIn", wndMgrIsIn, METH_VARARGS },
{ "GetMouseLocalPosition", wndMgrGetMouseLocalPosition, METH_VARARGS },
{ "GetMousePosition", wndMgrGetMousePosition, METH_VARARGS },
{ "IsDragging", wndMgrIsDragging, METH_VARARGS },
{ "SetLimitBias", wndMgrSetLimitBias, METH_VARARGS },
{ "UpdateRect", wndMgrUpdateRect, METH_VARARGS },
// Slot Window
{ "AppendSlot", wndMgrAppendSlot, METH_VARARGS },
{ "ArrangeSlot", wndMgrArrangeSlot, METH_VARARGS },
{ "ClearSlot", wndMgrClearSlot, METH_VARARGS },
{ "ClearAllSlot", wndMgrClearAllSlot, METH_VARARGS },
{ "HasSlot", wndMgrHasSlot, METH_VARARGS },
{ "SetSlot", wndMgrSetSlot, METH_VARARGS },
{ "SetSlotCount", wndMgrSetSlotCount, METH_VARARGS },
{ "SetSlotCountNew", wndMgrSetSlotCountNew, METH_VARARGS },
{ "SetSlotCoolTime", wndMgrSetSlotCoolTime, METH_VARARGS },
{ "SetToggleSlot", wndMgrSetToggleSlot, METH_VARARGS },
{ "ActivateSlot", wndMgrActivateSlot, METH_VARARGS },
{ "DeactivateSlot", wndMgrDeactivateSlot, METH_VARARGS },
{ "EnableSlot", wndMgrEnableSlot, METH_VARARGS },
{ "DisableSlot", wndMgrDisableSlot, METH_VARARGS },
{ "ShowSlotBaseImage", wndMgrShowSlotBaseImage, METH_VARARGS },
{ "HideSlotBaseImage", wndMgrHideSlotBaseImage, METH_VARARGS },
{ "SetSlotType", wndMgrSetSlotType, METH_VARARGS },
{ "SetSlotStyle", wndMgrSetSlotStyle, METH_VARARGS },
{ "SetSlotBaseImage", wndMgrSetSlotBaseImage, METH_VARARGS },
{ "SetCoverButton", wndMgrSetCoverButton, METH_VARARGS },
{ "EnableCoverButton", wndMgrEnableCoverButton, METH_VARARGS },
{ "DisableCoverButton", wndMgrDisableCoverButton, METH_VARARGS },
{ "IsDisableCoverButton", wndMgrIsDisableCoverButton, METH_VARARGS },
{ "SetAlwaysRenderCoverButton", wndMgrSetAlwaysRenderCoverButton, METH_VARARGS },
{ "AppendSlotButton", wndMgrAppendSlotButton, METH_VARARGS },
{ "AppendRequirementSignImage", wndMgrAppendRequirementSignImage, METH_VARARGS },
{ "ShowSlotButton", wndMgrShowSlotButton, METH_VARARGS },
{ "HideAllSlotButton", wndMgrHideAllSlotButton, METH_VARARGS },
{ "ShowRequirementSign", wndMgrShowRequirementSign, METH_VARARGS },
{ "HideRequirementSign", wndMgrHideRequirementSign, METH_VARARGS },
{ "RefreshSlot", wndMgrRefreshSlot, METH_VARARGS },
{ "SetUseMode", wndMgrSetUseMode, METH_VARARGS },
{ "SetUsableItem", wndMgrSetUsableItem, METH_VARARGS },
{ "SelectSlot", wndMgrSelectSlot, METH_VARARGS },
{ "ClearSelected", wndMgrClearSelected, METH_VARARGS },
{ "GetSelectedSlotCount", wndMgrGetSelectedSlotCount, METH_VARARGS },
{ "GetSelectedSlotNumber", wndMgrGetSelectedSlotNumber, METH_VARARGS },
{ "IsSelectedSlot", wndMgrIsSelectedSlot, METH_VARARGS },
{ "GetSlotCount", wndMgrGetSlotCount, METH_VARARGS },
{ "LockSlot", wndMgrLockSlot, METH_VARARGS },
{ "UnlockSlot", wndMgrUnlockSlot, METH_VARARGS },
// Bar
{ "SetColor", wndBarSetColor, METH_VARARGS },
// TextLine
{ "SetMax", wndTextSetMax, METH_VARARGS },
{ "SetHorizontalAlign", wndTextSetHorizontalAlign, METH_VARARGS },
{ "SetVerticalAlign", wndTextSetVerticalAlign, METH_VARARGS },
{ "SetSecret", wndTextSetSecret, METH_VARARGS },
{ "SetOutline", wndTextSetOutline, METH_VARARGS },
{ "SetFeather", wndTextSetFeather, METH_VARARGS },
{ "SetMultiLine", wndTextSetMultiLine, METH_VARARGS },
{ "SetText", wndTextSetText, METH_VARARGS },
{ "SetFontName", wndTextSetFontName, METH_VARARGS },
{ "SetFontColor", wndTextSetFontColor, METH_VARARGS },
{ "SetLimitWidth", wndTextSetLimitWidth, METH_VARARGS },
{ "GetText", wndTextGetText, METH_VARARGS },
{ "GetTextSize", wndTextGetTextSize, METH_VARARGS },
{ "ShowCursor", wndTextShowCursor, METH_VARARGS },
{ "HideCursor", wndTextHideCursor, METH_VARARGS },
{ "GetCursorPosition", wndTextGetCursorPosition, METH_VARARGS },
// NumberLine
{ "SetNumber", wndNumberSetNumber, METH_VARARGS },
{ "SetNumberHorizontalAlignCenter", wndNumberSetNumberHorizontalAlignCenter, METH_VARARGS },
{ "SetNumberHorizontalAlignRight", wndNumberSetNumberHorizontalAlignRight, METH_VARARGS },
{ "SetPath", wndNumberSetPath, METH_VARARGS },
// ImageBox
{ "MarkBox_SetImage", wndMarkBox_SetImage, METH_VARARGS },
{ "MarkBox_SetImageFilename", wndMarkBox_SetImageFilename, METH_VARARGS },
{ "MarkBox_Load", wndMarkBox_Load, METH_VARARGS },
{ "MarkBox_SetIndex", wndMarkBox_SetIndex, METH_VARARGS },
{ "MarkBox_SetScale", wndMarkBox_SetScale, METH_VARARGS },
{ "MarkBox_SetDiffuseColor", wndMarkBox_SetDiffuseColor, METH_VARARGS },
// ImageBox
{ "LoadImage", wndImageLoadImage, METH_VARARGS },
{ "SetDiffuseColor", wndImageSetDiffuseColor, METH_VARARGS },
{ "GetWidth", wndImageGetWidth, METH_VARARGS },
{ "GetHeight", wndImageGetHeight, METH_VARARGS },
// ExpandedImageBox
{ "SetScale", wndImageSetScale, METH_VARARGS },
{ "SetOrigin", wndImageSetOrigin, METH_VARARGS },
{ "SetRotation", wndImageSetRotation, METH_VARARGS },
{ "SetRenderingRect", wndImageSetRenderingRect, METH_VARARGS },
{ "SetRenderingMode", wndImageSetRenderingMode, METH_VARARGS },
// AniImageBox
{ "SetDelay", wndImageSetDelay, METH_VARARGS },
{ "AppendImage", wndImageAppendImage, METH_VARARGS },
// Button
{ "SetUpVisual", wndButtonSetUpVisual, METH_VARARGS },
{ "SetOverVisual", wndButtonSetOverVisual, METH_VARARGS },
{ "SetDownVisual", wndButtonSetDownVisual, METH_VARARGS },
{ "SetDisableVisual", wndButtonSetDisableVisual, METH_VARARGS },
{ "GetUpVisualFileName", wndButtonGetUpVisualFileName, METH_VARARGS },
{ "GetOverVisualFileName", wndButtonGetOverVisualFileName, METH_VARARGS },
{ "GetDownVisualFileName", wndButtonGetDownVisualFileName, METH_VARARGS },
{ "Flash", wndButtonFlash, METH_VARARGS },
{ "Enable", wndButtonEnable, METH_VARARGS },
{ "Disable", wndButtonDisable, METH_VARARGS },
{ "Down", wndButtonDown, METH_VARARGS },
{ "SetUp", wndButtonSetUp, METH_VARARGS },
{ "IsDown", wndButtonIsDown, METH_VARARGS },
// DragButton
{ "SetRestrictMovementArea", wndButtonSetRestrictMovementArea, METH_VARARGS },
// For Debug
{ "SetOutlineFlag", wndMgrSetOutlineFlag, METH_VARARGS },
{ "ShowOverInWindowName", wndMgrShowOverInWindowName, METH_VARARGS },
{ NULL, NULL, NULL },
};
PyObject * poModule = Py_InitModule("wndMgr", s_methods);
// <20>ϳ<EFBFBD><CFB3><EFBFBD> <20><><EFBFBD>ųʸ<C5B3><CAB8><EFBFBD> <20>ʹ<EFBFBD> <20><><EFBFBD><EFBFBD> Function<6F><6E> <20><><EFBFBD><EFBFBD> <20>Ǵ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20>̷<EFBFBD><CCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ųʸ<C5B3><CAB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> - [levites]
// PyObject * poMgrModule = Py_InitModule("wndMgr", s_methods);
// PyObject * poTextModule = Py_InitModule("wndText", s_methods);
// PyObject * poSlotModule = Py_InitModule("wndSlot", s_methods);
PyModule_AddIntConstant(poModule, "SLOT_STYLE_NONE", UI::SLOT_STYLE_NONE);
PyModule_AddIntConstant(poModule, "SLOT_STYLE_PICK_UP", UI::SLOT_STYLE_PICK_UP);
PyModule_AddIntConstant(poModule, "SLOT_STYLE_SELECT", UI::SLOT_STYLE_SELECT);
PyModule_AddIntConstant(poModule, "TEXT_HORIZONTAL_ALIGN_LEFT", CGraphicTextInstance::HORIZONTAL_ALIGN_LEFT);
PyModule_AddIntConstant(poModule, "TEXT_HORIZONTAL_ALIGN_RIGHT", CGraphicTextInstance::HORIZONTAL_ALIGN_RIGHT);
PyModule_AddIntConstant(poModule, "TEXT_HORIZONTAL_ALIGN_CENTER", CGraphicTextInstance::HORIZONTAL_ALIGN_CENTER);
PyModule_AddIntConstant(poModule, "TEXT_VERTICAL_ALIGN_TOP", CGraphicTextInstance::VERTICAL_ALIGN_TOP);
PyModule_AddIntConstant(poModule, "TEXT_VERTICAL_ALIGN_BOTTOM", CGraphicTextInstance::VERTICAL_ALIGN_BOTTOM);
PyModule_AddIntConstant(poModule, "TEXT_VERTICAL_ALIGN_CENTER", CGraphicTextInstance::VERTICAL_ALIGN_CENTER);
PyModule_AddIntConstant(poModule, "HORIZONTAL_ALIGN_LEFT", UI::CWindow::HORIZONTAL_ALIGN_LEFT);
PyModule_AddIntConstant(poModule, "HORIZONTAL_ALIGN_CENTER", UI::CWindow::HORIZONTAL_ALIGN_CENTER);
PyModule_AddIntConstant(poModule, "HORIZONTAL_ALIGN_RIGHT", UI::CWindow::HORIZONTAL_ALIGN_RIGHT);
PyModule_AddIntConstant(poModule, "VERTICAL_ALIGN_TOP", UI::CWindow::VERTICAL_ALIGN_TOP);
PyModule_AddIntConstant(poModule, "VERTICAL_ALIGN_CENTER", UI::CWindow::VERTICAL_ALIGN_CENTER);
PyModule_AddIntConstant(poModule, "VERTICAL_ALIGN_BOTTOM", UI::CWindow::VERTICAL_ALIGN_BOTTOM);
PyModule_AddIntConstant(poModule, "RENDERING_MODE_MODULATE", CGraphicExpandedImageInstance::RENDERING_MODE_MODULATE);
}