mirror of
https://gitea.sffempire.ru/Kolyah35/minecraft-pe-0.6.1.git
synced 2026-04-05 15:03:31 +00:00
95 lines
2.4 KiB
C++
Executable File
95 lines
2.4 KiB
C++
Executable File
#ifndef NET_MINECRAFT_CLIENT_GUI_COMPONENTS__RolledSelectionListV_H__
|
|
#define NET_MINECRAFT_CLIENT_GUI_COMPONENTS__RolledSelectionListV_H__
|
|
|
|
#include "../GuiComponent.h"
|
|
class Minecraft;
|
|
class Tesselator;
|
|
|
|
|
|
class RolledSelectionListV : public GuiComponent
|
|
{
|
|
static const int NO_DRAG = -1;
|
|
static const int DRAG_OUTSIDE = -2;
|
|
static const int DRAG_NORMAL = 0;
|
|
public:
|
|
RolledSelectionListV(Minecraft* minecraft, int width, int height, int x0, int x1, int y0, int y1, int itemHeight);
|
|
|
|
virtual int getItemAtPosition(int x, int y);
|
|
|
|
virtual bool capYPosition();
|
|
|
|
virtual void tick();
|
|
virtual void render(int xm, int ym, float a);
|
|
virtual void renderHoleBackground(/*float x0, float x1,*/ float y0, float y1, int a0, int a1);
|
|
virtual void setRenderSelection(bool _renderSelection);
|
|
virtual void setComponentSelected(bool selected);
|
|
protected:
|
|
void setRenderHeader(bool _renderHeader, int _headerHeight);
|
|
|
|
virtual int getNumberOfItems() = 0;
|
|
|
|
virtual void selectStart(int item) {}
|
|
virtual void selectCancel() {}
|
|
virtual void selectItem(int item, bool doubleClick) = 0;
|
|
virtual bool isSelectedItem(int item) = 0;
|
|
|
|
virtual int getMaxPosition();
|
|
virtual float getPos(float alpha);
|
|
virtual void touched();
|
|
|
|
virtual void renderItem(int i, int x, int y, int h, Tesselator& t) = 0;
|
|
virtual void renderHeader(int x, int y, Tesselator& t) {}
|
|
virtual void renderBackground() = 0;
|
|
virtual void renderForeground() {}
|
|
virtual void renderDecorations(int mouseX, int mouseY) {}
|
|
|
|
virtual void clickedHeader(int headerMouseX, int headerMouseY) {}
|
|
virtual int convertSelection(int item, int xm, int ym) { return item; }
|
|
|
|
int getItemAtYPositionRaw(int y);
|
|
void evaluate(int xm, int ym);
|
|
virtual void onPreRender();
|
|
virtual void onPostRender();
|
|
void renderDirtBackground();
|
|
protected:
|
|
Minecraft* minecraft;
|
|
|
|
float x0;
|
|
float x1;
|
|
int itemHeight;
|
|
int width;
|
|
int height;
|
|
//private:
|
|
float y0;
|
|
float y1;
|
|
|
|
int dragState;
|
|
float yDrag;
|
|
float yo;
|
|
float yoo;
|
|
float yInertia;
|
|
float _yinertia;
|
|
|
|
int selectionY;
|
|
bool renderSelection;
|
|
bool _componentSelected;
|
|
|
|
bool _renderDirtBackground;
|
|
bool _renderTopBorder;
|
|
bool _renderBottomBorder;
|
|
|
|
int _lastxm;
|
|
int _lastym;
|
|
private:
|
|
int headerHeight;
|
|
bool doRenderHeader;
|
|
long lastSelectionTime;
|
|
int lastSelection;
|
|
|
|
float _lastyoo;
|
|
|
|
float _stickPixels;
|
|
};
|
|
|
|
#endif /*NET_MINECRAFT_CLIENT_GUI_COMPONENTS__RolledSelectionListV_H__*/
|