summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinWX/Debugger/MemoryView.h
blob: 00108285d905796e3a6a7667f3f02561356e9da3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// Copyright 2008 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.

#pragma once

#include <wx/control.h>
#include "Common/CommonTypes.h"

class DebugInterface;

class CMemoryView : public wxControl
{
public:
	CMemoryView(DebugInterface* debuginterface, wxWindow* parent);

	u32 GetSelection() const { return selection ; }
	int GetMemoryType() const { return memory; }

	void Center(u32 addr)
	{
		curAddress = addr;
		Refresh();
	}
	int dataType;   // u8,u16,u32
	int curAddress; // Will be accessed by parent

private:
	void OnPaint(wxPaintEvent& event);
	void OnMouseDownL(wxMouseEvent& event);
	void OnMouseMove(wxMouseEvent& event);
	void OnMouseUpL(wxMouseEvent& event);
	void OnMouseDownR(wxMouseEvent& event);
	void OnScrollWheel(wxMouseEvent& event);
	void OnPopupMenu(wxCommandEvent& event);

	int YToAddress(int y);
	void OnResize(wxSizeEvent& event);

	DebugInterface* debugger;

	int align;
	int rowHeight;

	u32 selection;
	u32 oldSelection;
	bool selecting;

	int memory;

	enum EViewAsType
	{
		VIEWAS_ASCII = 0,
		VIEWAS_FP,
		VIEWAS_HEX,
	};

	EViewAsType viewAsType;
};