File:  [Isaki's NoNo m68k/m88k emulator] / nono / wx / wxlcdwindow.h
Revision 1.1.1.10 (vendor branch): download - view: text, annotated - select for diffs
Wed Apr 29 17:05:44 2026 UTC (2 months, 3 weeks ago) by root
Branches: MAIN, Isaki
CVS tags: v027, v026, v025, v024, HEAD
nono 1.4.0

//
// nono
// Copyright (C) 2020 nono project
// Licensed under nono-license.txt
//

//
// LUNA LCD パネル、モニタ
//

#pragma once

#include "wxsubwindow.h"
#include "wxbitmappanel.h"
#include "wxmonitor.h"

class LCDDevice;

// LUNA 前面 LCD パネル
class WXLCDPanel : public WXTextPanel
{
	using inherited = WXTextPanel;
 public:
	explicit WXLCDPanel(wxWindow *parent);
	~WXLCDPanel() override;

	void FontChanged() override;

 private:
	void OnLCDChanged(wxCommandEvent& event);
	void Draw() override;
	void DrawChar(int x, int y, uint8 ch);

	const uint8 *ddram {};

	int unit {};
	int u_width {};
	int u_height {};

	LCDDevice *lcd {};
};

// LUNA 前面 LCD ウィンドウ
class WXLCDWindow : public WXSubWindow
{
	using inherited = WXSubWindow;
 public:
	explicit WXLCDWindow(wxWindow *parent);
	~WXLCDWindow() override;
};

// モニタの LCD キャラクタ部パネル
class WXLCDCharPanel : public WXTextPanel
{
	using inherited = WXTextPanel;
 public:
	explicit WXLCDCharPanel(wxWindow *parent);
	~WXLCDCharPanel() override;

	void FontChanged() override;

 private:
	void Draw() override;

	int unit {};
	int u_width {};
	int u_height {};

	LCDDevice *lcd {};
};

// LCD モニタウィンドウ
class WXLCDMonitor : public WXSubWindow
{
	using inherited = WXSubWindow;
 public:
	explicit WXLCDMonitor(wxWindow *parent);
	~WXLCDMonitor() override;

	void FontChanged() override;
	bool Layout() override;

 private:
	WXMonitorPanel *monpanel {};
	WXLCDCharPanel *chrpanel {};
	WXBitmapPanel *space {};
};

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.