XenevaOS
Loading...
Searching...
No Matches
calculator.h
Go to the documentation of this file.
1
30#ifndef __CALCULATOR_H__
31#define __CALCULATOR_H__
32
33#include <stdint.h>
34#include <chitralekha.h>
35#include <widgets\base.h>
36#include <widgets\window.h>
37
38#define CALC_OPERATOR_DIVIDE 1
39#define CALC_OPERATOR_MULT 2
40#define CALC_OPERATOR_ADD 3
41#define CALC_OPERATOR_SUB 4
42#define CALC_OPERATOR_MOD 5
43
44
57
58/*
59* CalculatorGetMainDisplay -- returns the main display
60*/
62
63/*
64* CalcUpdateDisplay -- update the newly modified display
65* @param disp -- Pointer to calculator display
66*/
67extern void CalcUpdateDisplay(CalculatorDisplay* disp);
68
69/* CalcAddDigit -- adds a digit to the calculator
70* processor, only one digit
71* @param disp -- Calculator display processor
72* @param number -- number with one digit
73*/
74extern void CalcAddDigit(CalculatorDisplay* disp, int number);
75
76/*
77* CalcRemoveDigit -- removes a digit from input buffer
78* @param disp -- Calculator display
79*/
80extern void CalcRemoveDigit(CalculatorDisplay* disp);
81
82/*
83* CalcAllClear -- clear all digits
84* @param disp -- Pointer to calculator display
85* processor
86*/
87extern void CalcAllClear(CalculatorDisplay* disp);
88
89/*
90* CalculatorProcess -- process calculator calculations
91* @param calc -- Pointer to calculator display
92*/
93extern void CalculatorProcess(CalculatorDisplay* calc);
94
95/*
96* CalcAddToHistory -- add recent calculations to history
97* @param disp -- Pointer to calculator display
98* @param num -- numbers to add
99* @param operator_ -- operator to add
100*/
101extern void CalcAddToHistory(CalculatorDisplay* disp, char* num, uint8_t operator_);
102
103/*
104* CalcClearHistory -- clears recent digits history
105* @param disp -- Pointer to calculator display
106*/
107extern void CalcClearHistory(CalculatorDisplay* disp);
108
109/*
110* CalcClearOutput -- clear all output
111* @param disp -- Pointer to calculator display
112*/
113extern void CalcClearOutput(CalculatorDisplay* disp);
114
115void SevenAction(ChWidget* wid, ChWindow* win);
116void SixAction(ChWidget* wid, ChWindow* win);
117void FiveAction(ChWidget* wid, ChWindow* win);
118void FourAction(ChWidget* wid, ChWindow* win);
119void ThreeAction(ChWidget* wid, ChWindow* win);
120void TwoAction(ChWidget* wid, ChWindow* win);
121void OneAction(ChWidget* wid, ChWindow* win);
122void EightAction(ChWidget* wid, ChWindow* win);
123void NineAction(ChWidget* wid, ChWindow* win);
124void ZeroAction(ChWidget* wid, ChWindow* win);
125void BackAction(ChWidget* wid, ChWindow* win);
127void AddAction(ChWidget* wid, ChWindow* win);
128void DivideAction(ChWidget* wid, ChWindow* win);
129void MultAction(ChWidget* wid, ChWindow* win);
130void SubAction(ChWidget* wid, ChWindow* win);
131void ModAction(ChWidget* wid, ChWindow* win);
132void EqualAction(ChWidget* wid, ChWindow* win);
133void HandleKeyEvents(int keycode);
134
135#endif
unsigned char uint8_t
Definition acefiex.h:161
unsigned short int uint16_t
Definition acefiex.h:162
void SubAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:185
void MultAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:162
void CalcAddDigit(CalculatorDisplay *disp, int number)
Definition main.cpp:226
void ThreeAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:57
void EightAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:75
void ZeroAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:87
void SixAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:39
void AddAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:112
void CalcUpdateDisplay(CalculatorDisplay *disp)
Definition main.cpp:121
void OneAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:69
void BackAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:94
void AllClearAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:100
void TwoAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:63
void HandleKeyEvents(int keycode)
Definition actions.cpp:249
void CalcClearOutput(CalculatorDisplay *disp)
Definition main.cpp:130
void CalcRemoveDigit(CalculatorDisplay *disp)
Definition main.cpp:241
void FiveAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:45
void CalcClearHistory(CalculatorDisplay *disp)
Definition main.cpp:294
void CalcAllClear(CalculatorDisplay *disp)
Definition main.cpp:303
void FourAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:51
void ModAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:211
CalculatorDisplay * CalculatorGetMainDisplay()
Definition main.cpp:137
void EqualAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:236
struct _display_widget_ CalculatorDisplay
void CalculatorProcess(CalculatorDisplay *calc)
Definition main.cpp:170
void SevenAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:33
void DivideAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:137
void NineAction(ChWidget *wid, ChWindow *win)
Definition actions.cpp:81
void CalcAddToHistory(CalculatorDisplay *disp, char *num, uint8_t operator_)
Definition main.cpp:260
ChWindow * win
Definition namdapha.cpp:45
Definition window.h:114
Definition window.h:90
Definition calculator.h:45
uint8_t operator_
Definition calculator.h:50
bool output
Definition calculator.h:55
char * historyBuf
Definition calculator.h:51
int num2
Definition calculator.h:54
int num1
Definition calculator.h:53
char * outputnum
Definition calculator.h:49
char * inputnum
Definition calculator.h:47
uint16_t inputidx
Definition calculator.h:48
ChWidget wid
Definition calculator.h:46
uint16_t historyIdx
Definition calculator.h:52