file encoding to utf-8
This commit is contained in:
@@ -287,7 +287,7 @@ PyObject* grpGetSplitingTextLineCount(PyObject* poSelf, PyObject* poArgs)
|
||||
{
|
||||
i += 1;
|
||||
|
||||
// 자동 줄 바꿈되고 바로 | 가 있을 경우
|
||||
// 자동 줄 바꿈되고 바로 | 가 있을 경우
|
||||
if (iPosition>0)
|
||||
++iLineCount;
|
||||
|
||||
@@ -337,15 +337,15 @@ PyObject* grpGetSplitingTextLine(PyObject* poSelf, PyObject* poArgs)
|
||||
int iPosition = 0;
|
||||
int iLineCount = 0;
|
||||
|
||||
// 1차 : 조금 더 깔끔하게 안될까 -_-a
|
||||
// 2차 : 오.. 좀 나아졌다 +_+
|
||||
// 1차 : 조금 더 깔끔하게 안될까 -_-a
|
||||
// 2차 : 오.. 좀 나아졌다 +_+
|
||||
for (DWORD i = 0; i < strlen(szText);)
|
||||
{
|
||||
if ('|' == szText[i])
|
||||
{
|
||||
i += 1;
|
||||
|
||||
// 자동 줄 바꿈되고 바로 | 가 있을 경우
|
||||
// 자동 줄 바꿈되고 바로 | 가 있을 경우
|
||||
if (iPosition>0)
|
||||
++iLineCount;
|
||||
iPosition = 0;
|
||||
|
||||
@@ -18,10 +18,10 @@ void CGridSlotWindow::OnRenderPickingSlot()
|
||||
DWORD dwSlotNumber = UI::CWindowManager::Instance().GetAttachingSlotNumber();
|
||||
DWORD dwItemIndex = UI::CWindowManager::Instance().GetAttachingIndex();
|
||||
|
||||
// UseMode 이고..
|
||||
// UseMode 이고..
|
||||
if (m_isUseMode)
|
||||
{
|
||||
// Pick 된 아이템이 있으면..
|
||||
// Pick 된 아이템이 있으면..
|
||||
TSlot * pSlot = *SlotList.begin();
|
||||
TSlot * pCenterSlot;
|
||||
if (GetSlotPointer(pSlot->dwCenterSlotNumber, &pCenterSlot))
|
||||
@@ -40,7 +40,7 @@ void CGridSlotWindow::OnRenderPickingSlot()
|
||||
}
|
||||
}
|
||||
|
||||
// 아니면 그냥 옮기기
|
||||
// 아니면 그냥 옮기기
|
||||
if (CheckMoving(dwSlotNumber, dwItemIndex, SlotList))
|
||||
CPythonGraphic::Instance().SetDiffuseColor(1.0f, 1.0f, 1.0f, 0.5f);
|
||||
else
|
||||
@@ -85,8 +85,8 @@ BOOL CGridSlotWindow::GetPickedSlotPointer(TSlot ** ppSlot)
|
||||
{
|
||||
TSlot * pSlot = *itor;
|
||||
|
||||
// NOTE : 한 슬롯 이상 사이즈의 아이템의 경우 가장 왼쪽 위의 슬롯 포인터를 리턴한다.
|
||||
// 명시적이지 못한 코드.. 더 좋은 방법은 없는가? - [levites]
|
||||
// NOTE : 한 슬롯 이상 사이즈의 아이템의 경우 가장 왼쪽 위의 슬롯 포인터를 리턴한다.
|
||||
// 명시적이지 못한 코드.. 더 좋은 방법은 없는가? - [levites]
|
||||
if (!pMinSlot)
|
||||
{
|
||||
pMinSlot = pSlot;
|
||||
@@ -119,7 +119,7 @@ BOOL CGridSlotWindow::GetPickedSlotPointer(TSlot ** ppSlot)
|
||||
|
||||
*ppSlot = pCenterSlot;
|
||||
|
||||
// 현재 아이템을 들고 있는 중이고..
|
||||
// 현재 아이템을 들고 있는 중이고..
|
||||
if (UI::CWindowManager::Instance().IsAttaching())
|
||||
{
|
||||
DWORD dwSlotNumber = UI::CWindowManager::Instance().GetAttachingSlotNumber();
|
||||
@@ -159,7 +159,7 @@ BOOL CGridSlotWindow::GetPickedSlotList(int iWidth, int iHeight, std::list<TSlot
|
||||
int ixStart = int(ix) - int(ixHalfStep - (ixHalfStep % 2));
|
||||
int ixEnd = int(ix) + int(ixHalfStep);
|
||||
|
||||
// FIXME : 제대로 된 계산 공식을 찾자 - [levites]
|
||||
// FIXME : 제대로 된 계산 공식을 찾자 - [levites]
|
||||
int iyStart = 0, iyEnd = 0;
|
||||
|
||||
if (1 == iHeight)
|
||||
@@ -214,7 +214,7 @@ BOOL CGridSlotWindow::GetPickedSlotList(int iWidth, int iHeight, std::list<TSlot
|
||||
}
|
||||
}
|
||||
|
||||
// Refine Scroll 등을 위한 예외 처리
|
||||
// Refine Scroll 등을 위한 예외 처리
|
||||
if (m_isUseMode && 1 == pSlotPointerList->size())
|
||||
{
|
||||
TSlot * pMainSlot = *pSlotPointerList->begin();
|
||||
@@ -349,11 +349,11 @@ BOOL CGridSlotWindow::CheckMoving(DWORD dwSlotNumber, DWORD dwItemIndex, const s
|
||||
{
|
||||
TSlot * pSlot = *itor;
|
||||
|
||||
if (dwSlotNumber != pSlot->dwCenterSlotNumber) // 들었던 자리가 아닐 경우에
|
||||
if (dwSlotNumber != pSlot->dwCenterSlotNumber) // 들었던 자리가 아닐 경우에
|
||||
{
|
||||
if (0 != pSlot->dwItemIndex || pSlot->dwCenterSlotNumber != pSlot->dwSlotNumber) // 아이템이 있고
|
||||
if (0 != pSlot->dwItemIndex || pSlot->dwCenterSlotNumber != pSlot->dwSlotNumber) // 아이템이 있고
|
||||
{
|
||||
if (dwItemIndex != pSlot->dwItemIndex) // 다른 아이템이면 못 옮김
|
||||
if (dwItemIndex != pSlot->dwItemIndex) // 다른 아이템이면 못 옮김
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -252,7 +252,7 @@ void CSlotWindow::SetCoverButton(DWORD dwIndex, const char * c_szUpImageName, co
|
||||
rpCoverButton->Enable();
|
||||
rpCoverButton->Show();
|
||||
|
||||
// NOTE : Cover 버튼이 Plus 버튼을 가려버려서 임시 코드를..
|
||||
// NOTE : Cover 버튼이 Plus 버튼을 가려버려서 임시 코드를..
|
||||
if (pSlot->pSlotButton)
|
||||
{
|
||||
SetTop(pSlot->pSlotButton);
|
||||
@@ -585,7 +585,7 @@ void CSlotWindow::RefreshSlot()
|
||||
{
|
||||
OnRefreshSlot();
|
||||
|
||||
// NOTE : Refresh 될때 ToolTip 도 갱신 합니다 - [levites]
|
||||
// NOTE : Refresh 될때 ToolTip 도 갱신 합니다 - [levites]
|
||||
if (IsRendering())
|
||||
{
|
||||
TSlot * pSlot;
|
||||
@@ -862,8 +862,8 @@ void CSlotWindow::OnMouseOverOut()
|
||||
|
||||
void CSlotWindow::OnMouseOver()
|
||||
{
|
||||
// FIXME : 윈도우를 드래깅 하는 도중에 SetTop이 되어버리면 Capture가 풀어져 버린다. 그것의 방지 코드.
|
||||
// 좀 더 근본적인 해결책을 찾아야 할 듯 - [levites]
|
||||
// FIXME : 윈도우를 드래깅 하는 도중에 SetTop이 되어버리면 Capture가 풀어져 버린다. 그것의 방지 코드.
|
||||
// 좀 더 근본적인 해결책을 찾아야 할 듯 - [levites]
|
||||
// if (UI::CWindowManager::Instance().IsCapture())
|
||||
// if (!UI::CWindowManager::Instance().IsAttaching())
|
||||
// return;
|
||||
@@ -991,7 +991,7 @@ void CSlotWindow::OnRender()
|
||||
TSlotListIterator itor;
|
||||
|
||||
//
|
||||
// 모든 슬롯 상자 그리기
|
||||
// 모든 슬롯 상자 그리기
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
#ifdef __RENDER_SLOT_AREA__
|
||||
CPythonGraphic::Instance().SetDiffuseColor(0.5f, 0.5f, 0.5f);
|
||||
@@ -1056,7 +1056,7 @@ void CSlotWindow::OnRender()
|
||||
|
||||
if (fcurTime - rSlot.fStartCoolTime >= rSlot.fCoolTime)
|
||||
{
|
||||
// 쿨타임이 끝난지 1초 이내라면..
|
||||
// 쿨타임이 끝난지 1초 이내라면..
|
||||
if ((fcurTime - rSlot.fStartCoolTime) - rSlot.fCoolTime < 1.0f)
|
||||
__CreateFinishCoolTimeEffect(&rSlot);
|
||||
|
||||
@@ -1218,8 +1218,8 @@ BOOL CSlotWindow::GetPickedSlotPointer(TSlot ** ppSlot)
|
||||
int ixLocal = lx - m_rect.left;
|
||||
int iyLocal = ly - m_rect.top;
|
||||
|
||||
// NOTE : 왼쪽 맨위 상단 한곳이 기준 이라는 점을 이용해 왼쪽 위에서부터 오른쪽 아래로
|
||||
// 차례로 검색해 감으로써 덮혀 있는 Slot은 자동 무시 된다는 특성을 이용한다. - [levites]
|
||||
// NOTE : 왼쪽 맨위 상단 한곳이 기준 이라는 점을 이용해 왼쪽 위에서부터 오른쪽 아래로
|
||||
// 차례로 검색해 감으로써 덮혀 있는 Slot은 자동 무시 된다는 특성을 이용한다. - [levites]
|
||||
for (TSlotListIterator itor = m_SlotList.begin(); itor != m_SlotList.end(); ++itor)
|
||||
{
|
||||
TSlot & rSlot = *itor;
|
||||
@@ -1227,7 +1227,7 @@ BOOL CSlotWindow::GetPickedSlotPointer(TSlot ** ppSlot)
|
||||
int ixCellSize = rSlot.ixCellSize;
|
||||
int iyCellSize = rSlot.iyCellSize;
|
||||
|
||||
// NOTE : Item이 Hide 되어있을 경우를 위한..
|
||||
// NOTE : Item이 Hide 되어있을 경우를 위한..
|
||||
if (rSlot.isItem)
|
||||
{
|
||||
ixCellSize = std::max(rSlot.ixCellSize, int(rSlot.byxPlacedItemSize * ITEM_WIDTH));
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace UI
|
||||
SLOT_STATE_LOCK = (1 << 0),
|
||||
SLOT_STATE_CANT_USE = (1 << 1),
|
||||
SLOT_STATE_DISABLE = (1 << 2),
|
||||
SLOT_STATE_ALWAYS_RENDER_COVER = (1 << 3), // 현재 Cover 버튼은 슬롯에 무언가 들어와 있을 때에만 렌더링 하는데, 이 flag가 있으면 빈 슬롯이어도 커버 렌더링
|
||||
SLOT_STATE_ALWAYS_RENDER_COVER = (1 << 3), // 현재 Cover 버튼은 슬롯에 무언가 들어와 있을 때에만 렌더링 하는데, 이 flag가 있으면 빈 슬롯이어도 커버 렌더링
|
||||
};
|
||||
|
||||
class CSlotWindow : public CWindow
|
||||
@@ -44,9 +44,9 @@ namespace UI
|
||||
{
|
||||
DWORD dwState;
|
||||
DWORD dwSlotNumber;
|
||||
DWORD dwCenterSlotNumber; // NOTE : 사이즈가 큰 아이템의 경우 아이템의 실제 위치 번호
|
||||
DWORD dwItemIndex; // NOTE : 여기서 사용되는 Item이라는 단어는 좁은 개념의 것이 아닌,
|
||||
BOOL isItem; // "슬롯의 내용물"이라는 포괄적인 개념어. 더 좋은 것이 있을까? - [levites]
|
||||
DWORD dwCenterSlotNumber; // NOTE : 사이즈가 큰 아이템의 경우 아이템의 실제 위치 번호
|
||||
DWORD dwItemIndex; // NOTE : 여기서 사용되는 Item이라는 단어는 좁은 개념의 것이 아닌,
|
||||
BOOL isItem; // "슬롯의 내용물"이라는 포괄적인 개념어. 더 좋은 것이 있을까? - [levites]
|
||||
|
||||
// CoolTime
|
||||
float fCoolTime;
|
||||
|
||||
@@ -66,10 +66,10 @@ namespace UI
|
||||
|
||||
void CWindow::Clear()
|
||||
{
|
||||
// FIXME : Children을 즉시 Delete하지는 않는다.
|
||||
// 어차피 Python쪽에서 Destroy가 하나씩 다시 호출 될 것이므로..
|
||||
// 하지만 만약을 위해 링크는 끊어 놓는다.
|
||||
// 더 좋은 형태는 있는가? - [levites]
|
||||
// FIXME : Children을 즉시 Delete하지는 않는다.
|
||||
// 어차피 Python쪽에서 Destroy가 하나씩 다시 호출 될 것이므로..
|
||||
// 하지만 만약을 위해 링크는 끊어 놓는다.
|
||||
// 더 좋은 형태는 있는가? - [levites]
|
||||
std::for_each(m_pChildList.begin(), m_pChildList.end(), FClear());
|
||||
m_pChildList.clear();
|
||||
|
||||
@@ -93,8 +93,8 @@ namespace UI
|
||||
m_bShow = false;
|
||||
}
|
||||
|
||||
// NOTE : IsShow는 "자신이 보이는가?" 이지만, __IsShowing은 "자신이 그려지고 있는가?" 를 체크한다
|
||||
// 자신은 Show 지만 Tree 위쪽의 Parent 중 하나는 Hide 일 수 있으므로.. - [levites]
|
||||
// NOTE : IsShow는 "자신이 보이는가?" 이지만, __IsShowing은 "자신이 그려지고 있는가?" 를 체크한다
|
||||
// 자신은 Show 지만 Tree 위쪽의 Parent 중 하나는 Hide 일 수 있으므로.. - [levites]
|
||||
bool CWindow::IsRendering()
|
||||
{
|
||||
if (!IsShow())
|
||||
@@ -577,7 +577,7 @@ namespace UI
|
||||
BOOL CWindow::OnMouseLeftButtonUp()
|
||||
{
|
||||
PyCallClassMemberFunc(m_poHandler, "OnMouseLeftButtonUp", BuildEmptyTuple());
|
||||
return TRUE; // NOTE : ButtonUp은 예외로 무조건 TRUE
|
||||
return TRUE; // NOTE : ButtonUp은 예외로 무조건 TRUE
|
||||
}
|
||||
|
||||
BOOL CWindow::OnMouseLeftButtonDoubleClick()
|
||||
@@ -1291,7 +1291,7 @@ namespace UI
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// MarkBox - 마크 출력용 UI 윈도우
|
||||
// MarkBox - 마크 출력용 UI 윈도우
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
CMarkBox::CMarkBox(PyObject * ppyObject) : CWindow(ppyObject)
|
||||
{
|
||||
|
||||
@@ -28,16 +28,16 @@ namespace UI
|
||||
|
||||
enum EFlags
|
||||
{
|
||||
FLAG_MOVABLE = (1 << 0), // 움직일 수 있는 창
|
||||
FLAG_LIMIT = (1 << 1), // 창이 화면을 벗어나지 않음
|
||||
FLAG_SNAP = (1 << 2), // 스냅 될 수 있는 창
|
||||
FLAG_MOVABLE = (1 << 0), // 움직일 수 있는 창
|
||||
FLAG_LIMIT = (1 << 1), // 창이 화면을 벗어나지 않음
|
||||
FLAG_SNAP = (1 << 2), // 스냅 될 수 있는 창
|
||||
FLAG_DRAGABLE = (1 << 3),
|
||||
FLAG_ATTACH = (1 << 4), // 완전히 부모에 붙어 있는 창 (For Drag / ex. ScriptWindow)
|
||||
FLAG_RESTRICT_X = (1 << 5), // 좌우 이동 제한
|
||||
FLAG_RESTRICT_Y = (1 << 6), // 상하 이동 제한
|
||||
FLAG_ATTACH = (1 << 4), // 완전히 부모에 붙어 있는 창 (For Drag / ex. ScriptWindow)
|
||||
FLAG_RESTRICT_X = (1 << 5), // 좌우 이동 제한
|
||||
FLAG_RESTRICT_Y = (1 << 6), // 상하 이동 제한
|
||||
FLAG_NOT_CAPTURE = (1 << 7),
|
||||
FLAG_FLOAT = (1 << 8), // 공중에 떠있어서 순서 재배치가 되는 창
|
||||
FLAG_NOT_PICK = (1 << 9), // 마우스에 의해 Pick되지 않는 창
|
||||
FLAG_FLOAT = (1 << 8), // 공중에 떠있어서 순서 재배치가 되는 창
|
||||
FLAG_NOT_PICK = (1 << 9), // 마우스에 의해 Pick되지 않는 창
|
||||
FLAG_IGNORE_SIZE = (1 << 10),
|
||||
FLAG_RTL = (1 << 11), // Right-to-left
|
||||
};
|
||||
@@ -91,8 +91,8 @@ namespace UI
|
||||
bool IsIn(long x, long y);
|
||||
bool IsIn();
|
||||
CWindow * PickWindow(long x, long y);
|
||||
CWindow * PickTopWindow(long x, long y); // NOTE : Children으로 내려가지 않고 상위에서만
|
||||
// 체크 하는 특화된 함수
|
||||
CWindow * PickTopWindow(long x, long y); // NOTE : Children으로 내려가지 않고 상위에서만
|
||||
// 체크 하는 특화된 함수
|
||||
|
||||
void __RemoveReserveChildren();
|
||||
|
||||
@@ -166,10 +166,10 @@ namespace UI
|
||||
|
||||
EHorizontalAlign m_HorizontalAlign;
|
||||
EVerticalAlign m_VerticalAlign;
|
||||
long m_x, m_y; // X,Y 상대좌표
|
||||
long m_lWidth, m_lHeight; // 크기
|
||||
RECT m_rect; // Global 좌표
|
||||
RECT m_limitBiasRect; // limit bias 값
|
||||
long m_x, m_y; // X,Y 상대좌표
|
||||
long m_lWidth, m_lHeight; // 크기
|
||||
RECT m_rect; // Global 좌표
|
||||
RECT m_limitBiasRect; // limit bias 값
|
||||
|
||||
bool m_bMovable;
|
||||
bool m_bShow;
|
||||
|
||||
@@ -534,7 +534,7 @@ namespace UI
|
||||
if (m_pActiveWindow)
|
||||
m_pActiveWindow->OnKillFocus();
|
||||
|
||||
// 이미 락된 윈도우리스트안에 있다면 제거한다..
|
||||
// 이미 락된 윈도우리스트안에 있다면 제거한다..
|
||||
m_LockWindowList.remove(pWin);
|
||||
|
||||
if (m_pLockWindow)
|
||||
@@ -575,8 +575,8 @@ namespace UI
|
||||
|
||||
if (m_pActiveWindow)
|
||||
{
|
||||
// NOTE : 누적된 Window가 많아지면 Clear를 해줘야 할까?
|
||||
// 일단은 중복 누적이 안되며 포커스 되는 갯수 자체가 5개 미만이니 굳이 필요하지는 않을 듯.. - [levites]
|
||||
// NOTE : 누적된 Window가 많아지면 Clear를 해줘야 할까?
|
||||
// 일단은 중복 누적이 안되며 포커스 되는 갯수 자체가 5개 미만이니 굳이 필요하지는 않을 듯.. - [levites]
|
||||
m_ActiveWindowList.push_back(m_pActiveWindow);
|
||||
m_pActiveWindow->OnKillFocus();
|
||||
}
|
||||
@@ -618,8 +618,8 @@ namespace UI
|
||||
CWindow * pParentWindow = pWin->GetParent();
|
||||
pParentWindow->SetTop(pWin);
|
||||
|
||||
// NOTE : Capture가 리셋된다..? - [levites]
|
||||
// NOTE : 인벤토리에서 아이템을 드래그 해서 밖에다 놓을때 캡춰가 남아서 창의 버튼을 두번 눌러야 하는 버그를 위해 추가
|
||||
// NOTE : Capture가 리셋된다..? - [levites]
|
||||
// NOTE : 인벤토리에서 아이템을 드래그 해서 밖에다 놓을때 캡춰가 남아서 창의 버튼을 두번 눌러야 하는 버그를 위해 추가
|
||||
// ResetCapture();
|
||||
}
|
||||
|
||||
@@ -628,7 +628,7 @@ namespace UI
|
||||
if (m_pLockWindow)
|
||||
return;
|
||||
|
||||
// GameLayer에 속해 있는 윈도우가 피킹 됐다면 무조건 SetTop을 해준다.
|
||||
// GameLayer에 속해 있는 윈도우가 피킹 됐다면 무조건 SetTop을 해준다.
|
||||
TLayerContainer::iterator itor = m_LayerWindowMap.find("UI");
|
||||
if (itor == m_LayerWindowMap.end())
|
||||
return;
|
||||
@@ -896,7 +896,7 @@ namespace UI
|
||||
{
|
||||
if (m_pLeftCaptureWindow->OnMouseLeftButtonUp())
|
||||
{
|
||||
// NOTE : 여기서 m_pLeftCaptureWindow가 NULL 일 수 있습니다!! - [levites]
|
||||
// NOTE : 여기서 m_pLeftCaptureWindow가 NULL 일 수 있습니다!! - [levites]
|
||||
m_pLeftCaptureWindow = NULL;
|
||||
return;
|
||||
}
|
||||
@@ -1099,7 +1099,7 @@ namespace UI
|
||||
return;
|
||||
}
|
||||
|
||||
// NOTE : 전체로 돌리지 않고 Activate되어있는 EditLine에만 보내는 이벤트
|
||||
// NOTE : 전체로 돌리지 않고 Activate되어있는 EditLine에만 보내는 이벤트
|
||||
}
|
||||
|
||||
void CWindowManager::RunChangeCodePage()
|
||||
|
||||
@@ -1883,13 +1883,13 @@ PyObject * wndMarkBox_SetImageFilename(PyObject * poSelf, PyObject * poArgs)
|
||||
|
||||
PyObject * wndMarkBox_SetImage(PyObject * poSelf, PyObject * poArgs)
|
||||
{
|
||||
// 아무것도 하지 않음
|
||||
// 아무것도 하지 않음
|
||||
return Py_BuildNone();
|
||||
}
|
||||
|
||||
PyObject * wndMarkBox_Load(PyObject * poSelf, PyObject * poArgs)
|
||||
{
|
||||
// 아무것도 하지 않음
|
||||
// 아무것도 하지 않음
|
||||
return Py_BuildNone();
|
||||
}
|
||||
|
||||
@@ -2495,7 +2495,7 @@ void initwndMgr()
|
||||
|
||||
PyObject * poModule = Py_InitModule("wndMgr", s_methods);
|
||||
|
||||
// 하나의 딕셔너리에 너무 많은 Function이 포함 되는 것 같아 이런식으로 딕셔너리를 나누는 것을 고려 중 - [levites]
|
||||
// 하나의 딕셔너리에 너무 많은 Function이 포함 되는 것 같아 이런식으로 딕셔너리를 나누는 것을 고려 중 - [levites]
|
||||
// PyObject * poMgrModule = Py_InitModule("wndMgr", s_methods);
|
||||
// PyObject * poTextModule = Py_InitModule("wndText", s_methods);
|
||||
// PyObject * poSlotModule = Py_InitModule("wndSlot", s_methods);
|
||||
|
||||
Reference in New Issue
Block a user