4jcraft/Minecraft.Client/UI/Screen.h
2026-03-16 16:04:30 +03:00

59 lines
1.3 KiB
C++

#pragma once
#include "GuiComponent.h"
class Button;
class GuiParticles;
class Minecraft;
class Screen : public GuiComponent {
protected:
Minecraft* minecraft;
public:
int width;
int height;
protected:
std::vector<Button*> buttons;
public:
bool passEvents;
protected:
Font* font;
public:
GuiParticles* particles;
Screen(); // 4J added
virtual void render(int xm, int ym, float a);
public:
virtual void keyPressed(wchar_t eventCharacter, int eventKey);
static std::wstring getClipboard();
static void setClipboard(const std::wstring& str);
private:
Button* clickedButton;
protected:
virtual void mouseClicked(int x, int y, int buttonNum);
virtual void mouseReleased(int x, int y, int buttonNum);
virtual void buttonClicked(Button* button);
public:
virtual void init(Minecraft* minecraft, int width, int height);
virtual void setSize(int width, int height);
virtual void init();
virtual void updateEvents();
virtual void mouseEvent();
virtual void keyboardEvent();
virtual void tick();
virtual void removed();
virtual void renderBackground();
virtual void renderBackground(int vo);
virtual void renderDirtBackground(int vo);
virtual bool isPauseScreen();
virtual void confirmResult(bool result, int id);
virtual void tabPressed();
};