mirror of
https://github.com/celisej567/mcpe.git
synced 2025-12-31 17:49:17 +03:00
* * Add BuildActionIntention crap * * Set Client and World projects to use MP compilation * asd * * Use the new BuildActionIntention to break and place blocks. * * Reverse engineer the IArea system. * * Copy break logic from survival into creative conditionally * * Reverse IBuildInput and MouseHandler * Replace the new relative paths in the client project with $(MC_ROOT) again * * Reverse Multitouch, MouseDevice * * Reverse a bunch of auxiliary classes for input. * * Use CustomInputHolder instead of holding inputs manually. * * Reverse a whole BUNCH of things! * * Add feedback textures to the gitignore. * * D-pad now renders! Also loads of other work. * * More Stuff * * Finish touch control bug fixing. * * Finalize work. * * One last thing.. * * Add a "cramped" mode to the options screen and start menu. * * Oh, forgot to do something
84 lines
1.6 KiB
C++
84 lines
1.6 KiB
C++
/********************************************************************
|
|
Minecraft: Pocket Edition - Decompilation Project
|
|
Copyright (C) 2023 iProgramInCpp
|
|
|
|
The following code is licensed under the BSD 1 clause license.
|
|
SPDX-License-Identifier: BSD-1-Clause
|
|
********************************************************************/
|
|
|
|
#pragma once
|
|
|
|
#include <vector>
|
|
|
|
enum MouseButtonType
|
|
{
|
|
BUTTON_NONE,
|
|
BUTTON_LEFT,
|
|
BUTTON_RIGHT,
|
|
BUTTON_MIDDLE,
|
|
BUTTON_COUNT,
|
|
BUTTON_SCROLLWHEEL,
|
|
BUTTON_MIN = BUTTON_LEFT,
|
|
};
|
|
|
|
struct MouseAction
|
|
{
|
|
MouseButtonType _buttonType;
|
|
bool _buttonState;
|
|
int _posX;
|
|
int _posY;
|
|
int _fingerId;
|
|
|
|
MouseAction()
|
|
{
|
|
_buttonType = BUTTON_NONE;
|
|
_buttonState = 0;
|
|
_posX = 0;
|
|
_posY = 0;
|
|
_fingerId = 0;
|
|
}
|
|
|
|
MouseAction(MouseButtonType buttonType, bool buttonState, int posX, int posY, int fingerId)
|
|
{
|
|
_buttonType = buttonType;
|
|
_buttonState = buttonState;
|
|
_posX = posX;
|
|
_posY = posY;
|
|
_fingerId = fingerId;
|
|
}
|
|
|
|
bool isButton()
|
|
{
|
|
return
|
|
_buttonType == BUTTON_LEFT ||
|
|
_buttonType == BUTTON_RIGHT ||
|
|
_buttonType == BUTTON_MIDDLE;
|
|
}
|
|
};
|
|
|
|
class MouseDevice
|
|
{
|
|
public:
|
|
void feed(MouseButtonType buttonType, bool buttonState, int posX, int posY);
|
|
short getX();
|
|
short getY();
|
|
bool next();
|
|
bool isButtonDown(MouseButtonType btn);
|
|
bool getButtonState(MouseButtonType btn);
|
|
bool getEventButtonState();
|
|
//void setX(int x);
|
|
//void setY(int y);
|
|
void reset();
|
|
void reset2();
|
|
MouseButtonType getEventButton();
|
|
MouseAction* getEvent();
|
|
|
|
private:
|
|
int _index;
|
|
int _x, _y;
|
|
int _xOld, _yOld;
|
|
bool _buttonStates[BUTTON_COUNT];
|
|
std::vector<MouseAction> _inputs;
|
|
};
|
|
|