Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nickshl/DevCore.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'UiEngine/UiCheckbox.h')
-rw-r--r--UiEngine/UiCheckbox.h89
1 files changed, 89 insertions, 0 deletions
diff --git a/UiEngine/UiCheckbox.h b/UiEngine/UiCheckbox.h
new file mode 100644
index 0000000..175bd89
--- /dev/null
+++ b/UiEngine/UiCheckbox.h
@@ -0,0 +1,89 @@
+//******************************************************************************
+// @file UiCheckbox.h
+// @author Nicolai Shlapunov
+//
+// @details DevCore: UI Checkbox Visual Object Class, header
+//
+// @section LICENSE
+//
+// Software License Agreement (Modified BSD License)
+//
+// Copyright (c) 2016, Devtronic & Nicolai Shlapunov
+// 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 Devtronic nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+// 4. Redistribution and use of this software other than as permitted under
+// this license is void and will automatically terminate your rights under
+// this license.
+//
+// THIS SOFTWARE IS PROVIDED BY DEVTRONIC ''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 DEVTRONIC 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
+// 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.
+//
+// @section SUPPORT
+//
+// Devtronic invests time and resources providing this open source code,
+// please support Devtronic and open-source hardware/software by
+// donations and/or purchasing products from Devtronic.
+//
+//******************************************************************************
+
+#ifndef UiCheckbox_h
+#define UiCheckbox_h
+
+// *****************************************************************************
+// *** Includes ************************************************************
+// *****************************************************************************
+#include "DevCfg.h"
+#include "DisplayDrv.h"
+#include "VisObject.h"
+
+// *****************************************************************************
+// *** Checkbox Class ******************************************************
+// *****************************************************************************
+class UiCheckbox : public VisObject
+{
+ public:
+ // *************************************************************************
+ // *** Constructor *****************************************************
+ // *************************************************************************
+ UiCheckbox(int32_t x, int32_t y, bool is_checked = false, bool is_active = false);
+
+ // *************************************************************************
+ // *** Put line in buffer **********************************************
+ // *************************************************************************
+ virtual void DrawInBufH(uint16_t* buf, int32_t n, int32_t row, int32_t y = 0);
+
+ // *************************************************************************
+ // *** Put line in buffer **********************************************
+ // *************************************************************************
+ virtual void DrawInBufW(uint16_t* buf, int32_t n, int32_t line, int32_t x = 0);
+
+ // *************************************************************************
+ // *** Put line in buffer **********************************************
+ // *************************************************************************
+ virtual void Action(VisObject::ActionType action, int32_t tx, int32_t ty);
+
+ private:
+ // Is box checked ?
+ bool checked = false;
+};
+
+#endif // UiCheckbox_h