// Copyright (c) 2026 - 2026 kio@little-bat.de
// BSD-2-Clause license
// https://opensource.org/licenses/BSD-2-Clause

#pragma once
#include <QImage>
#include <QMainWindow>
#include <QSettings>

class MainWindow : public QMainWindow
{
	Q_OBJECT
	using super = QMainWindow;

public:
	//	QImage qimage;

protected:
	void keyPressEvent(QKeyEvent*) override;
	void keyReleaseEvent(QKeyEvent*) override;
	void showEvent(QShowEvent*) override;
	void hideEvent(QHideEvent*) override;
	void paintEvent(QPaintEvent*) override;
	void focusInEvent(QFocusEvent*) override;
	void focusOutEvent(QFocusEvent*) override;
	void resizeEvent(QResizeEvent*) override;
	void wheelEvent(QWheelEvent*) override;
	void mousePressEvent(QMouseEvent*) override;
	void mouseReleaseEvent(QMouseEvent*) override;
	void mouseMoveEvent(QMouseEvent*) override;

public:
	MainWindow(int w, int h, QWidget* parent = nullptr);
	~MainWindow() override {}

	//void setSize(int w, int h);
	//void clear();

public slots:
	//void slotQuitAppl();
signals:
	//	void focusChanged(bool);
	//	void resized();
};


extern QSettings	 settings;
extern QApplication* appl;
extern int			 mbar_height;
extern void			 run_core0();
extern void			 run_core1();
