Simple integer calculator using FRDM-KL25Z and Adafruit 2.8" TFT with touch \\ "Dentaku" means "Desktop Calculator" in Japanese \\ On 5-Dec-2015, Support for FRDM-K64F, FRDM-K22F, NUCLEO-F411RE added.
Dependencies: SPI_STMPE610 UniGraphic mbed vt100
Yet another simple desktop calculator program, only for integer.
As usual I used FRDM-KL25Z, Adafruit 2.8" TFT with touch and UniGraphic library.
Now works with FRDM-K64F, FRDM-K22F, and NUCLEO-F411RE.
整数計算のみの簡単な電卓プログラムです。
例によって、FRDM-KL25Z, Adafruit 2.8" TFT with touch, そして UniGraphic を使用しています。
FRDM-K64F, FRDM-K22F, NUCLEO-F411RE でも動くようになりました。
TFTMenu.h
- Committer:
- Rhyme
- Date:
- 2017-04-11
- Revision:
- 4:d4c937bcc469
- Parent:
- 0:659a74b77279
File content as of revision 4:d4c937bcc469:
/** mbed oscilloscope my implementation of a oscillo scope * Copyright (c) 2014, 2015 Motoo Tanaka @ Design Methodology Lab * * TFTMenu.h * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ #ifndef _TFT_MENU_H_ #define _TFT_MENU_H_ defined typedef void (*FuncPtr)(void) ; class TFTMenuItem { public: TFTMenuItem(int x1, int y1, int x2, int y2, FuncPtr fnc, char *name, uint16_t mc, uint16_t fc, int l_margin = 7, int t_margin = 10) ; ~TFTMenuItem() ; virtual bool hit(int x, int y) ; virtual void draw(int offset_x = 0, int offset_y = 0) ; virtual void font_margin(int x, int y) ; void highlight(int offset_x = 0, int offset_y = 0) ; uint16_t getColor(void) ; void doIt(void) ; const char *name(void) { return label ; } protected: char *label ; uint16_t font_color ; uint16_t menu_color ; int top ; int bottom ; int left ; int right ; int left_margin ; int top_margin ; FuncPtr func ; private: } ; class TFTRadioButton : public TFTMenuItem { public: TFTRadioButton(int x1, int y1, int x2, int y2, FuncPtr fnc, char *name, uint16_t mc, uint16_t fc, char *altname = 0, uint16_t altmc = 0, uint16_t altfc = 0, bool sel = false) ; ~TFTRadioButton() ; virtual bool hit(int x, int y) ; virtual void draw(int offset_x = 0, int offset_y = 0) ; void select(bool value) ; protected: bool selected ; char *alt_label ; uint16_t alt_font_color ; uint16_t alt_menu_color ; // FuncPtr alt_func ; private: } ; class TFTMenu { public: TFTMenu() ; // constructor ~TFTMenu() ; // destructor private: } ; #endif /* _TFT_MENU_H_ */