CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
hrydgard

CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!

GitHub Repository: hrydgard/ppsspp
Path: blob/master/Windows/GEDebugger/TabDisplayLists.h
Views: 1401
1
#pragma once
2
3
#include "Common/CommonWindows.h"
4
#include "Windows/resource.h"
5
#include "Windows/W32Util/DialogManager.h"
6
#include "Windows/W32Util/Misc.h"
7
#include "GPU/Common/GPUDebugInterface.h"
8
9
class CtrlDisplayListView;
10
11
class CtrlDisplayListStack: public GenericListControl
12
{
13
public:
14
CtrlDisplayListStack(HWND hwnd);
15
void setDisplayList(const DisplayList &_list) {
16
list = _list;
17
Update();
18
}
19
protected:
20
bool WindowMessage(UINT msg, WPARAM wParam, LPARAM lParam, LRESULT &returnValue) override { return false; }
21
void GetColumnText(wchar_t *dest, int row, int col) override;
22
int GetRowCount() override { return list.stackptr; }
23
void OnDoubleClick(int itemIndex, int column) override;
24
private:
25
DisplayList list;
26
};
27
28
class CtrlAllDisplayLists: public GenericListControl
29
{
30
public:
31
CtrlAllDisplayLists(HWND hwnd);
32
void setDisplayLists(const std::vector<DisplayList> &_lists) {
33
lists = _lists;
34
Update();
35
}
36
protected:
37
bool WindowMessage(UINT msg, WPARAM wParam, LPARAM lParam, LRESULT &returnValue) override;
38
void GetColumnText(wchar_t *dest, int row, int col) override;
39
int GetRowCount() override { return (int) lists.size(); }
40
void OnDoubleClick(int itemIndex, int column) override;
41
private:
42
std::vector<DisplayList> lists;
43
};
44
45
class TabDisplayLists : public Dialog
46
{
47
public:
48
TabDisplayLists(HINSTANCE _hInstance, HWND _hParent);
49
~TabDisplayLists();
50
void Update(bool reload = true);
51
protected:
52
BOOL DlgProc(UINT message, WPARAM wParam, LPARAM lParam) override;
53
private:
54
void UpdateSize(WORD width, WORD height);
55
56
CtrlDisplayListView* displayList;
57
CtrlDisplayListStack* stack;
58
CtrlAllDisplayLists* allLists;
59
std::vector<DisplayList> lists;
60
int activeList;
61
};
62
63