Initial Commit / Linux Combined Proof of Concept example
This commit is contained in:
commit
d0d2eae762
935 changed files with 155947 additions and 0 deletions
65
deps_linux/libtcod/gui/button.hpp
Normal file
65
deps_linux/libtcod/gui/button.hpp
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef TCOD_GUI_BUTTON_HPP
|
||||
#define TCOD_GUI_BUTTON_HPP
|
||||
#ifndef TCOD_NO_UNICODE
|
||||
#include "widget.hpp"
|
||||
class TCODLIB_GUI_API Button : public Widget {
|
||||
public:
|
||||
Button(const char* label, const char* tip, widget_callback_t cbk, void* userData = NULL);
|
||||
Button(
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height,
|
||||
const char* label,
|
||||
const char* tip,
|
||||
widget_callback_t cbk,
|
||||
void* userData = NULL);
|
||||
virtual ~Button();
|
||||
void render();
|
||||
void setLabel(const char* newLabel);
|
||||
void computeSize();
|
||||
inline bool isPressed() { return pressed; }
|
||||
|
||||
protected:
|
||||
bool pressed;
|
||||
char* label;
|
||||
widget_callback_t cbk;
|
||||
|
||||
void onButtonPress();
|
||||
void onButtonRelease();
|
||||
void onButtonClick();
|
||||
void expand(int width, int height);
|
||||
};
|
||||
#endif // TCOD_NO_UNICODE
|
||||
#endif /* TCOD_GUI_BUTTON_HPP */
|
||||
51
deps_linux/libtcod/gui/container.hpp
Normal file
51
deps_linux/libtcod/gui/container.hpp
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef TCOD_GUI_CONTAINER_HPP
|
||||
#define TCOD_GUI_CONTAINER_HPP
|
||||
#ifndef TCOD_NO_UNICODE
|
||||
#include "widget.hpp"
|
||||
class TCODLIB_GUI_API Container : public Widget {
|
||||
public:
|
||||
Container(int x, int y, int w, int h) : Widget(x, y, w, h) {}
|
||||
virtual ~Container();
|
||||
void addWidget(Widget* wid);
|
||||
void removeWidget(Widget* wid);
|
||||
void setVisible(bool val);
|
||||
void render();
|
||||
void clear();
|
||||
void update(const TCOD_key_t k);
|
||||
|
||||
protected:
|
||||
TCODList<Widget*> content; // Can't be fixed without breaking the ABI.
|
||||
};
|
||||
#endif // TCOD_NO_UNICODE
|
||||
#endif /* TCOD_GUI_CONTAINER_HPP */
|
||||
62
deps_linux/libtcod/gui/flatlist.hpp
Normal file
62
deps_linux/libtcod/gui/flatlist.hpp
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef TCOD_GUI_FLATLIST_HPP
|
||||
#define TCOD_GUI_FLATLIST_HPP
|
||||
#ifndef TCOD_NO_UNICODE
|
||||
#include "textbox.hpp"
|
||||
class TCODLIB_GUI_API FlatList : public TextBox {
|
||||
public:
|
||||
FlatList(int x, int y, int w, const char** list, const char* label, const char* tip = NULL);
|
||||
virtual ~FlatList();
|
||||
void render();
|
||||
void update(const TCOD_key_t k);
|
||||
void setCallback(void (*cbk_)(Widget* wid, const char* val, void* data), void* data_) {
|
||||
this->cbk = cbk_;
|
||||
this->data = data_;
|
||||
}
|
||||
void setValue(const char* value);
|
||||
void setList(const char** list);
|
||||
|
||||
protected:
|
||||
const char** value;
|
||||
const char** list;
|
||||
bool onLeftArrow;
|
||||
bool onRightArrow;
|
||||
void (*cbk)(Widget* wid, const char* val, void* data);
|
||||
void* data;
|
||||
|
||||
void valueToText();
|
||||
void textToValue();
|
||||
void onButtonClick();
|
||||
};
|
||||
#endif // TCOD_NO_UNICODE
|
||||
#endif /* TCOD_GUI_FLATLIST_HPP */
|
||||
51
deps_linux/libtcod/gui/gui.hpp
Normal file
51
deps_linux/libtcod/gui/gui.hpp
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef _GUI_HPP
|
||||
#define _GUI_HPP
|
||||
|
||||
#include "../libtcod.hpp"
|
||||
#include "button.hpp"
|
||||
#include "container.hpp"
|
||||
#include "flatlist.hpp"
|
||||
#include "hbox.hpp"
|
||||
#include "image.hpp"
|
||||
#include "label.hpp"
|
||||
#include "radiobutton.hpp"
|
||||
#include "slider.hpp"
|
||||
#include "statusbar.hpp"
|
||||
#include "textbox.hpp"
|
||||
#include "togglebutton.hpp"
|
||||
#include "toolbar.hpp"
|
||||
#include "vbox.hpp"
|
||||
#include "widget.hpp"
|
||||
|
||||
#endif
|
||||
40
deps_linux/libtcod/gui/gui_portability.hpp
Normal file
40
deps_linux/libtcod/gui/gui_portability.hpp
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef TCOD_GUI_PORTABILITY_HPP
|
||||
#define TCOD_GUI_PORTABILITY_HPP
|
||||
|
||||
#include "../portability.h"
|
||||
|
||||
// DLL export
|
||||
#define TCODLIB_GUI_API TCODLIB_API
|
||||
|
||||
#endif /* TCOD_GUI_PORTABILITY_HPP */
|
||||
42
deps_linux/libtcod/gui/hbox.hpp
Normal file
42
deps_linux/libtcod/gui/hbox.hpp
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef TCOD_GUI_HBOX_HPP
|
||||
#define TCOD_GUI_HBOX_HPP
|
||||
#ifndef TCOD_NO_UNICODE
|
||||
#include "vbox.hpp"
|
||||
class TCODLIB_GUI_API HBox : public VBox {
|
||||
public:
|
||||
HBox(int x, int y, int padding);
|
||||
void computeSize();
|
||||
};
|
||||
#endif // TCOD_NO_UNICODE
|
||||
#endif /* TCOD_GUI_HBOX_HPP */
|
||||
47
deps_linux/libtcod/gui/image.hpp
Normal file
47
deps_linux/libtcod/gui/image.hpp
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef TCOD_GUI_IMAGE_HPP
|
||||
#define TCOD_GUI_IMAGE_HPP
|
||||
#include "widget.hpp"
|
||||
class TCODLIB_GUI_API Image : public Widget {
|
||||
public:
|
||||
Image(int x, int y, int w, int h, const char* tip = NULL);
|
||||
virtual ~Image();
|
||||
void setBackgroundColor(const TCODColor col);
|
||||
void render();
|
||||
|
||||
protected:
|
||||
void expand(int width, int height);
|
||||
|
||||
TCODColor back;
|
||||
};
|
||||
#endif /* TCOD_GUI_IMAGE_HPP */
|
||||
49
deps_linux/libtcod/gui/label.hpp
Normal file
49
deps_linux/libtcod/gui/label.hpp
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef TCOD_GUI_LABEL_HPP
|
||||
#define TCOD_GUI_LABEL_HPP
|
||||
#ifndef TCOD_NO_UNICODE
|
||||
#include "widget.hpp"
|
||||
class TCODLIB_GUI_API Label : public Widget {
|
||||
public:
|
||||
Label(int x, int y, const char* label, const char* tip = NULL);
|
||||
void render();
|
||||
void computeSize();
|
||||
void setValue(const char* label_) { this->label = label_; }
|
||||
|
||||
protected:
|
||||
const char* label;
|
||||
|
||||
void expand(int width, int height);
|
||||
};
|
||||
#endif // TCOD_NO_UNICODE
|
||||
#endif /* TCOD_GUI_LABEL_HPP */
|
||||
66
deps_linux/libtcod/gui/radiobutton.hpp
Normal file
66
deps_linux/libtcod/gui/radiobutton.hpp
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef TCOD_GUI_RADIOBUTTON_HPP
|
||||
#define TCOD_GUI_RADIOBUTTON_HPP
|
||||
#ifndef TCOD_NO_UNICODE
|
||||
#include "button.hpp"
|
||||
class TCODLIB_GUI_API RadioButton : public Button {
|
||||
public:
|
||||
RadioButton(const char* label, const char* tip, widget_callback_t cbk, void* userData = NULL)
|
||||
: Button(label, tip, cbk, userData), group(defaultGroup) {}
|
||||
RadioButton(
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height,
|
||||
const char* label,
|
||||
const char* tip,
|
||||
widget_callback_t cbk,
|
||||
void* userData = NULL)
|
||||
: Button(x, y, width, height, label, tip, cbk, userData), group(defaultGroup) {}
|
||||
|
||||
void setGroup(int group_) { this->group = group_; }
|
||||
void render();
|
||||
void select();
|
||||
void unSelect();
|
||||
static void unSelectGroup(int group);
|
||||
static void setDefaultGroup(int group) { defaultGroup = group; }
|
||||
|
||||
protected:
|
||||
static int defaultGroup;
|
||||
int group;
|
||||
static RadioButton* groupSelect[512];
|
||||
|
||||
void onButtonClick();
|
||||
};
|
||||
#endif // TCOD_NO_UNICODE
|
||||
#endif /* TCOD_GUI_RADIOBUTTON_HPP */
|
||||
71
deps_linux/libtcod/gui/slider.hpp
Normal file
71
deps_linux/libtcod/gui/slider.hpp
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef TCOD_GUI_SLIDER_HPP
|
||||
#define TCOD_GUI_SLIDER_HPP
|
||||
#ifndef TCOD_NO_UNICODE
|
||||
#include "textbox.hpp"
|
||||
class TCODLIB_GUI_API Slider : public TextBox {
|
||||
public:
|
||||
Slider(int x, int y, int w, float min, float max, const char* label, const char* tip = NULL);
|
||||
virtual ~Slider();
|
||||
void render();
|
||||
void update(const TCOD_key_t k);
|
||||
void setMinMax(float min_, float max_) {
|
||||
this->min = min_;
|
||||
this->max = max_;
|
||||
}
|
||||
void setCallback(void (*cbk_)(Widget* wid, float val, void* data), void* data_) {
|
||||
this->cbk = cbk_;
|
||||
this->data = data_;
|
||||
}
|
||||
void setFormat(const char* fmt);
|
||||
void setValue(float value);
|
||||
void setSensitivity(float sensitivity_) { this->sensitivity = sensitivity_; }
|
||||
|
||||
protected:
|
||||
float min, max, value, sensitivity;
|
||||
bool onArrows;
|
||||
bool drag;
|
||||
int drag_x;
|
||||
int drag_y;
|
||||
float dragValue;
|
||||
char* fmt;
|
||||
void (*cbk)(Widget* wid, float val, void* data);
|
||||
void* data;
|
||||
|
||||
void valueToText();
|
||||
void textToValue();
|
||||
void onButtonPress();
|
||||
void onButtonRelease();
|
||||
};
|
||||
#endif // TCOD_NO_UNICODE
|
||||
#endif /* TCOD_GUI_SLIDER_HPP */
|
||||
42
deps_linux/libtcod/gui/statusbar.hpp
Normal file
42
deps_linux/libtcod/gui/statusbar.hpp
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef TCOD_GUI_STATUSBAR_HPP
|
||||
#define TCOD_GUI_STATUSBAR_HPP
|
||||
#ifndef TCOD_NO_UNICODE
|
||||
#include "widget.hpp"
|
||||
class TCODLIB_GUI_API StatusBar : public Widget {
|
||||
public:
|
||||
StatusBar(int x, int y, int w, int h) : Widget(x, y, w, h) {}
|
||||
void render();
|
||||
};
|
||||
#endif // TCOD_NO_UNICODE
|
||||
#endif /* TCOD_GUI_STATUSBAR_HPP */
|
||||
64
deps_linux/libtcod/gui/textbox.hpp
Normal file
64
deps_linux/libtcod/gui/textbox.hpp
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef TCOD_GUI_TEXTBOX_HPP
|
||||
#define TCOD_GUI_TEXTBOX_HPP
|
||||
#ifndef TCOD_NO_UNICODE
|
||||
#include "widget.hpp"
|
||||
class TCODLIB_GUI_API TextBox : public Widget {
|
||||
public:
|
||||
TextBox(int x, int y, int w, int max_width, const char* label, const char* value, const char* tip = NULL);
|
||||
virtual ~TextBox();
|
||||
void render();
|
||||
void update(const TCOD_key_t k);
|
||||
void setText(const char* txt);
|
||||
const char* getValue() { return txt; }
|
||||
void setCallback(void (*cbk)(Widget* wid, char* val, void* data), void* data_) {
|
||||
text_callback = cbk;
|
||||
this->data = data_;
|
||||
}
|
||||
static void setBlinkingDelay(float delay) { blinkingDelay = delay; }
|
||||
|
||||
protected:
|
||||
static float blinkingDelay;
|
||||
char* label;
|
||||
char* txt;
|
||||
float blink;
|
||||
int pos, offset;
|
||||
int box_x, box_width, max_width;
|
||||
bool insert;
|
||||
void (*text_callback)(Widget* wid, char* val, void* data);
|
||||
void* data;
|
||||
|
||||
void onButtonClick();
|
||||
};
|
||||
#endif // TCOD_NO_UNICODE
|
||||
#endif /* TCOD_GUI_TEXTBOX_HPP */
|
||||
60
deps_linux/libtcod/gui/togglebutton.hpp
Normal file
60
deps_linux/libtcod/gui/togglebutton.hpp
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef TCOD_GUI_TOGGLEBUTTON_HPP
|
||||
#define TCOD_GUI_TOGGLEBUTTON_HPP
|
||||
#ifndef TCOD_NO_UNICODE
|
||||
#include "button.hpp"
|
||||
class TCODLIB_GUI_API ToggleButton : public Button {
|
||||
public:
|
||||
ToggleButton(const char* label, const char* tip, widget_callback_t cbk, void* userData = NULL)
|
||||
: Button(label, tip, cbk, userData) {}
|
||||
ToggleButton(
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height,
|
||||
const char* label,
|
||||
const char* tip,
|
||||
widget_callback_t cbk,
|
||||
void* userData = NULL)
|
||||
: Button(x, y, width, height, label, tip, cbk, userData) {}
|
||||
void render();
|
||||
bool isPressed() { return pressed; }
|
||||
void setPressed(bool val) { pressed = val; }
|
||||
|
||||
protected:
|
||||
void onButtonPress();
|
||||
void onButtonRelease();
|
||||
void onButtonClick();
|
||||
};
|
||||
#endif // TCOD_NO_UNICODE
|
||||
#endif /* TCOD_GUI_TOGGLEBUTTON_HPP */
|
||||
51
deps_linux/libtcod/gui/toolbar.hpp
Normal file
51
deps_linux/libtcod/gui/toolbar.hpp
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef TCOD_GUI_TOOLBAR_HPP
|
||||
#define TCOD_GUI_TOOLBAR_HPP
|
||||
#ifndef TCOD_NO_UNICODE
|
||||
#include "container.hpp"
|
||||
class TCODLIB_GUI_API ToolBar : public Container {
|
||||
public:
|
||||
ToolBar(int x, int y, const char* name, const char* tip = NULL);
|
||||
ToolBar(int x, int y, int w, const char* name, const char* tip = NULL);
|
||||
~ToolBar();
|
||||
void render();
|
||||
void setName(const char* name);
|
||||
void addSeparator(const char* txt, const char* tip = NULL);
|
||||
void computeSize();
|
||||
|
||||
protected:
|
||||
char* name;
|
||||
int fixedWidth;
|
||||
};
|
||||
#endif // TCOD_NO_UNICODE
|
||||
#endif /* TCOD_GUI_TOOLBAR_HPP */
|
||||
45
deps_linux/libtcod/gui/vbox.hpp
Normal file
45
deps_linux/libtcod/gui/vbox.hpp
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef TCOD_GUI_VBOX_HPP
|
||||
#define TCOD_GUI_VBOX_HPP
|
||||
#ifndef TCOD_NO_UNICODE
|
||||
#include "container.hpp"
|
||||
class TCODLIB_GUI_API VBox : public Container {
|
||||
public:
|
||||
VBox(int x, int y, int padding) : Container(x, y, 0, 0), padding(padding) {}
|
||||
void computeSize();
|
||||
|
||||
protected:
|
||||
int padding;
|
||||
};
|
||||
#endif // TCOD_NO_UNICODE
|
||||
#endif /* TCOD_GUI_VBOX_HPP */
|
||||
91
deps_linux/libtcod/gui/widget.hpp
Normal file
91
deps_linux/libtcod/gui/widget.hpp
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
/* BSD 3-Clause License
|
||||
*
|
||||
* Copyright © 2008-2022, Jice and the libtcod contributors.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef TCOD_GUI_WIDGET_HPP
|
||||
#define TCOD_GUI_WIDGET_HPP
|
||||
#include "../color.hpp"
|
||||
#include "../console.hpp"
|
||||
#include "../list.hpp"
|
||||
#include "../mouse.hpp"
|
||||
#include "gui_portability.hpp"
|
||||
class TCODLIB_GUI_API Widget {
|
||||
public:
|
||||
int x, y, w, h;
|
||||
void* userData;
|
||||
static Widget* focus;
|
||||
static Widget* keyboardFocus;
|
||||
|
||||
Widget();
|
||||
Widget(int x, int y);
|
||||
Widget(int x, int y, int w, int h);
|
||||
virtual ~Widget();
|
||||
virtual void render() {}
|
||||
virtual void update(const TCOD_key_t k);
|
||||
void move(int x, int y);
|
||||
void setTip(const char* tip);
|
||||
virtual void setVisible(bool val) { visible = val; }
|
||||
bool isVisible() { return visible; }
|
||||
virtual void computeSize() {}
|
||||
static void setBackgroundColor(const TCODColor col, const TCODColor colFocus);
|
||||
static void setForegroundColor(const TCODColor col, const TCODColor colFocus);
|
||||
static void setConsole(TCODConsole* con);
|
||||
static void updateWidgets(const TCOD_key_t k, const TCOD_mouse_t mouse);
|
||||
static void renderWidgets();
|
||||
static TCOD_mouse_t mouse;
|
||||
static TCODColor fore;
|
||||
virtual void expand(int, int) {} // parameters: width, height
|
||||
protected:
|
||||
friend class StatusBar;
|
||||
friend class ToolBar;
|
||||
friend class VBox;
|
||||
friend class HBox;
|
||||
|
||||
virtual void onMouseIn() {}
|
||||
virtual void onMouseOut() {}
|
||||
virtual void onButtonPress() {}
|
||||
virtual void onButtonRelease() {}
|
||||
virtual void onButtonClick() {}
|
||||
|
||||
static void updateWidgetsIntern(const TCOD_key_t k);
|
||||
|
||||
static float elapsed;
|
||||
static TCODColor back;
|
||||
static TCODColor backFocus;
|
||||
static TCODColor foreFocus;
|
||||
static TCODConsole* con;
|
||||
static TCODList<Widget*> widgets;
|
||||
char* tip;
|
||||
bool mouseIn : 1;
|
||||
bool mouseL : 1;
|
||||
bool visible : 1;
|
||||
};
|
||||
typedef void (*widget_callback_t)(Widget* w, void* userData);
|
||||
#endif /* TCOD_GUI_WIDGET_HPP */
|
||||
Loading…
Add table
Add a link
Reference in a new issue