#ifndef INPUTWINDOW_H #define INPUTWINDOW_H #include #include "ValuedGuiElement.h" #include "GuiElement.h" class InputWindow : public ValuedGuiElement { int controlCount; GuiElement **control; int activeIndex; int x, y; int w, h; const char *title; int oldMousePos; int oldMouseB; bool dragging; public: InputWindow(BITMAP *desiredCanvas, int desiredControlCount, GuiElement **desiredControl, int desiredX, int desiredY, int desiredW, int desiredH, const char *desiredTitle, bool desiredBlocking, int desiredActiveIndex = 0, bool desiredActive = false) : ValuedGuiElement(desiredCanvas, desiredBlocking, desiredActive), controlCount(desiredControlCount), control(desiredControl), activeIndex(desiredActiveIndex), x(desiredX), y(desiredY), w(desiredW), h(desiredH), title(desiredTitle), oldMousePos(mouse_pos), oldMouseB(0x0), dragging(false) { for (int i = 0; i < controlCount; i++) control[i]->blur(); control[activeIndex]->focus(); if (!control[activeIndex]->getActive()) next(); } void next(); void previous(); int getValue(); bool acknowledgeKeyStroke(int keyStroke); bool acknowledgeKeyArray(); bool acknowledgeMouse(); void acknowledgeHeartBeat(); void shift(int xOffset, int yOffset); bool within(int xTarget, int yTarget); void draw(); void erase(); }; #endif