/elec/propeller-clock

To get this branch, use:
bzr branch http://bzr.ed.am/elec/propeller-clock

« back to all changes in this revision

Viewing changes to src/digital_clock_mode.h

  • Committer: edam
  • Date: 2012-02-29 21:56:32 UTC
  • Revision ID: edam@waxworlds.org-20120229215632-kypb9491vx7bicef
moved some stuf round, created a re-usable pool of message buffers, genericised "modes" for messages

Show diffs side-by-side

added added

removed removed

24
24
#define _DIGITAL_CLOCK_MODE_H_
25
25
 
26
26
 
27
 
#include "mode.h"
28
 
 
29
 
 
30
 
class DigitalClockMode : public Mode
 
27
#include "minor_mode.h"
 
28
 
 
29
 
 
30
class DigitalClockMode : public MinorMode
31
31
{
32
32
public:
33
33
 
34
 
        /**
35
 
         * Called once per segment to draw a column of LEDs.
36
 
         * @param segment the segment number to draw
 
34
        DigitalClockMode();
 
35
 
 
36
        /**
 
37
         * Called to inform the mode that there has been a (short) button press.
 
38
         */
 
39
        void press();
 
40
 
 
41
        /**
 
42
         * Draw an individual segment (column of pixels)
 
43
         *
 
44
         * @param segment the segment number
37
45
         */
38
46
        void draw( int segment );
39
47
 
40
48
        /**
41
 
         * Called at the start of a "frame", before any segments are drawn.
 
49
         * Called before the first segment is drawn, once per "frame".
42
50
         */
43
51
        void draw_reset();
44
52
 
45
53
        /**
46
 
         * Called when the mode is becoming active.
 
54
         * Called when this minor mode becomes active
47
55
         */
48
56
        void activate();
49
57
 
50
 
        /**
51
 
         * Called when the button has been pressed.
52
 
         */
53
 
        void press();
54
 
 
55
58
private:
56
 
 
 
59
        
57
60
        /**
58
 
         * Set up messages.
 
61
         * Set the text message
 
62
         *
 
63
         * @param update or reset message?
59
64
         */
60
 
        void reset_messages();
 
65
        void set_message( bool update );
61
66
 
62
 
        /** current flavour */
63
 
        int _flavour;
64
67
};
65
68
 
66
69