Library for 3.2'' uLcd Picaso Display4D system Picaso Serial Environment Command Set web: http://www.4dsystems.com.au/product/20/67/Processors_Graphics/PICASO/

Revision:
1:a74e42cf52b2
Parent:
0:65fd8b1cbf86
--- a/ObjetGraphic.h	Sun Jul 06 10:36:27 2014 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,755 +0,0 @@
-#ifndef OBJET_GRAPHIC_H
-#define OBJET_GRAPHIC_H
-
-#include "PicasoSerial.h"
-#include <vector>
-#include <string>
-
-/**
-* Library for 3.2'' uLcd Picaso Display
-* 4D system
-* The Objets
-* Picaso Serial Environment Command Set
-* http://www.4dsystems.com.au/product/20/67/Processors_Graphics/PICASO/
-* @autor A.Decarvalho
-* 
-* 17/04/ 2014
-* 
-*/
-
-//-------------------------------------
-class ObjetHeader;
-//-------------------------------------
-//
-//
-class Screen
-{
-public:
-    /** Construct a Screen
-    *
-    * @param serial the PicasoSerial Obj
-    * @param _x the up left
-    * @params _y the up left
-    * @params _w the width
-    * @params _h the height
-    * @param _colorBkg the background color
-    */
-    // constructeur
-    Screen(PicasoSerial* serial,UINT16 _x,UINT16 _y,UINT16 _w,UINT16 _h,Color _colorBkg);
-    //
-    ~Screen(void);
-    //
-    //! draw all objects
-    void drawAll(void);
-    //------------------------------
-    //! add a new Objet
-    void addObj(ObjetHeader* pObj);
-    //
-    //! draw a particular object
-    void drawObj(ObjetHeader* pObj);
-    //
-    //! @returns PicasoSerial the pointer to draw on the screen
-    PicasoSerial* getPicasoSerial(void);
-    //
-    void drawCells(void);
-
-//getter
-    UINT16 getXpos(void);
-    UINT16 getYpos(void);
-    UINT16 getWidth(void);
-    UINT16 getHeight(void);
-    Color getColorBkg(void);
-
-    bool isContent(ObjetHeader* pObj, UINT16 _x,UINT16 _y);
-
-    //-----------------------------------------------------
-    //! returns the Objet in [_x,_y] position
-    ObjetHeader* getObjetPosition(UINT16 _x,UINT16 _y);
-    
-    //! returns the Objet by Id
-    ObjetHeader* getObjetById(UINT16 _id);
-
-    //-----------------------------------------------------
-    //! returns the touch and update the GraphicMessage
-    TouchEvent getTouchEvent(GraphicMessage* msg);
-
-    //-------------------------------------------
-    //! update the identifier Id of the object being touched
-    void getProcessMessage(GraphicMessage* msg);
-
-protected:
-    PicasoSerial* mySerial;
-
-    UINT16 myXpos,myYpos,myWidth,myHeight;
-
-    Color myColorBkg;
-
-    vector<ObjetHeader*> myVectorObjet;
-};
-//
-//
-//--------------------------------------
-//
-//
-class ObjetHeader
-{
-public:
-    /** Construct a ObjetHeader the father
-    *
-    * @param mScreen the pointer screen
-    * @param _id the identifier Id
-    * @params _x the up left
-    * @params _y the up left
-    * @params _w the width
-    * @params _h the height
-    * @param _color the background color
-    * @params _isVisible
-    */
-// constructor
-    //
-    ObjetHeader(Screen* mScreen,UINT16 _id,UINT16 _x,UINT16 _y,UINT16 _w,UINT16 _h,Color _color,bool _isVisible);
-    //
-    //! draw the obj
-    virtual void draw(void);
-    //
-    virtual ~ObjetHeader(void);
-    //
-    //! test a overlap
-    bool overlapWith(ObjetHeader* pObj);
-    //
-    static bool overlap(ObjetHeader* pObj1,ObjetHeader* pObj2);
-    //
-    static const UINT16 CELL_DIM=80;
-    static const UINT16 CELL_COL=3;
-    void updateCellId(void);
-
-
-//getter
-    UINT16 getXpos(void);
-    UINT16 getYpos(void);
-    UINT16 getWidth(void);
-    UINT16 getHeight(void);
-    UINT16 getElementId(void);
-    bool   getIsVisible(void);
-    State getElementState(void);
-
-    float getSpeedX(void);
-    float getSpeedY(void);
-
-    Color getColor(void);
-
-    UINT16 getCellId(void);
-
-//setter
-    void setColor(Color _color);
-    void setElementState(State _state);
-    void setElementId(UINT16 _id);
-    void setVisibility(bool _val);
-    void setInvertSpeedX(void);
-    void setInvertSpeedY(void);
-    void setSpeedX(float _speedX);
-    void setSpeedY(float _speedY);
-    void setSpeedXY(float _speedX,float _speedY);
-
-    void setXpos(UINT16 _xpos);
-    void setYpos(UINT16 _ypos);
-
-    GRAPHIC_OBJ_TYPE getElementType(void);
-
-    void setUpdateAutomatic(bool _state);
-    bool getUpdateAutomatic(void);
-
-protected:
-    Screen* myScreen;
-
-    void elementUpdate(void);
-
-    UINT16 myX,myY,myWidth,myHeight;
-    UINT16 myElementId;
-    GRAPHIC_OBJ_TYPE myElementType;
-
-    bool myElementIsVisible;
-    bool myIsUpdateAutomatic;
-    float mySpeedX,mySpeedY;
-
-    UINT16 myXMoveMin,myXMoveMax,myYMoveMin,myYMoveMax;
-    UINT16 myCellId;
-
-    State myElementState;
-    Color myColor;
-};
-//-----------------------------------------
-//
-//
-class Isocele:public ObjetHeader
-{
-public:
-    Isocele(Screen* mScreen,UINT16 _id,UINT16 xc,UINT16 yc,UINT16 radius,int orientation,float _speed,Color color,bool isVisible);
-    //
-    virtual void draw(void);
-    //
-    virtual ~Isocele(void);
-    //
-    void setOrientation(int _orientation);
-    //
-    void turnLeft(void);
-    //
-    void turnRight(void);
-    //
-    void setInvisible(bool _state);
-    //
-    void setNewPosition(INT16 _xcnew,INT16 _ycnew);
-    //
-    void update(float delta);
-    //
-    int getOrientation(void);
-    //
-    UINT16 getXcenter(void);
-    //
-    UINT16 getYcenter(void);
-
-    static const int ORIENTATION_UP=0;
-    static const int ORIENTATION_LEFT=1;
-    static const int ORIENTATION_DOWN=2;
-    static const int ORIENTATION_RIGHT=3;
-
-protected:
-    UINT16 myXcenter;
-    UINT16 myYcenter;
-    UINT16 myRadius;
-    int myOrientation;
-
-    UINT16 myX1,myY1;
-    UINT16 myX2,myY2;
-    UINT16 myX3,myY3;
-    float mySpeed;
-
-    void updateOrientation(void);
-    void myElementUpdate(void);
-};
-//----------------------------------------
-//
-//
-class Rectangle:public ObjetHeader
-{
-public:
-    /** Construct a filled Rectangle
-    *
-    * @param mScreen the pointer screen
-    * @param _id the identifier Id
-    * @params _x the up left
-    * @params _y the up left
-    * @params _w the width
-    * @params _h the height
-    * @param _color the background color
-    * @params _isVisible
-    */
-    Rectangle(Screen* mScreen,UINT16 _id,UINT16 _x,UINT16 _y,UINT16 _w,UINT16 _h,Color _color,bool _isVisible);
-    //
-    virtual void draw(void);
-    //
-    virtual ~Rectangle(void);
-    //
-    //! updating the position of the object, in the case of a game
-    void update(float delta);
-
-
-//setter
-    void setInvisible(bool _state);
-    //
-    void setNewPosition(INT16 _xcnew,INT16 _ycnew);
-
-};
-//----------------------------------------
-//
-//
-class Circle:public ObjetHeader
-{
-public:
-    /** Construct a filled Circle
-    *
-    * @param mScreen the pointer screen
-    * @param _id the identifier Id
-    * @params _xc the center x
-    * @params _yc the center y
-    * @params _radius
-    * @param _color the background color
-    * @params _isVisible
-    */
-    Circle(Screen* mScreen,UINT16 _id,UINT16 _xc,UINT16 _yc,UINT16 _radius,Color _color,bool _isVisible);
-    //
-    virtual void draw(void);
-    //
-    virtual ~Circle(void);
-    //
-    void update(float delta);
-
-// getter
-    UINT16 getCenterX(void);
-    //
-    UINT16 getCenterY(void);
-
-//setter
-    void setInvisible(bool _state);
-    //
-    void setNewPosition(INT16 _xnew,INT16 _ynew);
-    //
-    void setCenterX(UINT16 _xcenter);
-    //
-    void setCenterY(UINT16 _ycenter);
-
-protected:
-    UINT16 myRadius;
-    UINT16 myCenterX;
-    UINT16 myCenterY;
-};
-//-----------------------------------------
-//
-//
-class Ellipse:public ObjetHeader
-{
-public:
-    /** Construct a filled Ellipse
-    *
-    * @param mScreen the pointer screen
-    * @param _id the identifier Id
-    * @params _xc the center x
-    * @params _yc the center y
-    * @params _radiusX
-    * @radius _radiusY
-    * @param _color the background color
-    * @params _isVisible
-    */
-    Ellipse(Screen* mScreen,UINT16 _id,UINT16 _xc,UINT16 _yc,UINT16 _radiusX,UINT16 _radiusY,Color _color,bool _isVisible);
-    //
-    virtual void draw(void);
-    //
-    virtual ~Ellipse(void);
-    //
-    void update(float delta);
-// getter
-    UINT16 getCenterX(void);
-    //
-    UINT16 getCenterY(void);
-
-//setter
-    void setInvisible(bool _state);
-    //
-    void setNewPosition(INT16 _xcnew,INT16 _ycnew);
-    //
-    void setCenterX(UINT16 _xcenter);
-    //
-    void setCenterY(UINT16 _ycenter);
-
-
-protected:
-    UINT16 myCenterX;
-    UINT16 myCenterY;
-    UINT16 myRadiusX;
-    UINT16 myRadiusY;
-};
-//-----------------------------------------
-//
-//
-class Diamond:public ObjetHeader
-{
-public:
-    /** Construct a filled Diamond
-    *
-    * @param mScreen the pointer screen
-    * @param _id the identifier Id
-    * @params x1
-    * @params y1
-    * @params x2
-    * @params y2
-    * @params x3
-    * @params y3
-    * @params x4
-    * @params y4
-    * @param _color the background color
-    * @params _isVisible
-    */
-    Diamond(Screen* mScreen,UINT16 _id,UINT16 x1,UINT16 y1,UINT16 x2,UINT16 y2,
-            UINT16 x3,UINT16 y3,UINT16 x4,UINT16 y4,Color _color,bool _isVisible);
-    //
-    virtual void draw(void);
-    //
-    virtual ~Diamond(void);
-    //
-    void update(float delta);
-
-//setter
-    void setInvisible(bool _state);
-    //
-    void setNewPosition(INT16 _xnew,INT16 _ynew);
-
-protected:
-    UINT16 myX1,myY1;
-    UINT16 myX2,myY2;
-    UINT16 myX3,myY3;
-    UINT16 myX4,myY4;
-    UINT16 myU1,myU2;
-    UINT16 myV1,myV2;
-
-};
-//---------------------------------------
-//
-//
-class Triangle:public ObjetHeader
-{
-public:
-    /** Construct a filled  Triangle
-       *
-       * @param mScreen the pointer screen
-       * @param _id the identifier Id
-       * @params x1
-       * @params y1
-       * @params x2
-       * @params y2
-       * @params x3
-       * @params y3
-       * @param _color the background color
-       * @params _isVisible
-       */
-
-    Triangle(Screen* mScreen,UINT16 _id,UINT16 x1,UINT16 y1,
-             UINT16 x2,UINT16 y2,
-             UINT16 x3,UINT16 y3,
-             Color _color,bool _isVisible);
-    //
-    virtual void draw(void);
-    //
-    virtual ~Triangle(void);
-    //
-    void update(float delta);
-
-
-//setter
-    void setInvisible(bool _state);
-    //
-    void setNewPosition(INT16 _xnew,INT16 _ynew);
-
-
-protected:
-    UINT16 myX1,myY1;
-    UINT16 myX2,myY2;
-    UINT16 myX3,myY3;
-    UINT16 myU,myV;
-};
-//------------------------------------------
-//
-//
-class Label:public ObjetHeader
-{
-public:
-    /** Construct a label
-        *
-        * @param mScreen the pointer screen
-        * @param _id the identifier Id
-        * @params _x
-        * @params _y
-        * @params _text
-        * @params _font
-        * @params _colorText
-        * @params _colorBkg
-        * @params _isVisible
-        */
-
-    Label(Screen* mScreen,UINT16 _id,UINT16 _x,UINT16 _y,
-          string _text,Font _font,Color _colorText,Color _colorBkg,bool _isVisible);
-
-    //
-    virtual void draw(void);
-    //
-    virtual ~Label(void);
-
-//setter
-    void setInvisible(bool _state);
-    //
-    void setNewText(string _newText);
-
-protected:
-    string myText;
-    Font myFont;
-    Color myColorText;
-
-};
-//-------------------------------------------
-//
-//
-class GraphicLed:public ObjetHeader
-{
-public:
-    /** Construct a filled Circle
-        *
-        * @param mScreen the pointer screen
-        * @param _id the identifier Id
-        * @params _xc center
-        * @params _yc center
-        * @params _radius
-        * @params _colorOn
-        * @params _colorOff
-        * @params _state LED_STATE_ON or LED_STATE_OFF,
-        * @params _isVisible
-        */
-    GraphicLed(Screen* mScreen,UINT16 _id,UINT16 _xc,UINT16 _yc,UINT16 _radius,
-               Color _colorOn,Color _colorOff,State _state,bool _isVisible);
-    //
-    virtual void draw(void);
-    //
-    virtual ~GraphicLed(void);
-
-
-//setter
-    void setInvisible(bool _state);
-    //
-    void setState(State _state);
-
-protected:
-    Color myColorOn;
-    Color myColorOff;
-    UINT16 myRadius;
-    UINT16 myCenterX;
-    UINT16 myCenterY;
-};
-//------------------------------------------
-//
-//
-class Button:public ObjetHeader
-{
-public:
-    /** Construct a Button
-    *
-    * @param mScreen the pointer screen
-    * @param _id the identifier Id
-    * @params _x up left
-    * @params _y up left
-    * @params _text
-    * @params _font
-    * @params _colorText
-    * @params _colorBtn
-    * @params _state BUTTON_STATE_PRESSED or BUTTON_STATE_RELEASED,
-    * @params _isVisible
-    */
-    Button(Screen* mScreen,UINT16 _id,UINT16 _x,UINT16 _y,string _text,Font _font,
-           Color _colorText,Color _colorBtn,State _state,bool _isVisible);
-    //
-    virtual void draw(void);
-    //
-    virtual ~Button(void);
-
-    //setter
-    void setInvisible(bool _state);
-    //
-    void setState(State _state);
-
-protected:
-    string myText;
-    Font myFont;
-    Color myColorText;
-};
-//------------------------------------------
-//
-//
-class Slider:public ObjetHeader
-{
-public:
-    /** Construct a Slider
-    *
-    * @param mScreen the pointer screen
-    * @param _id the identifier Id
-    * @params _x up left
-    * @params _y up left
-    * @params _width
-    * @params _height
-    * @params _valMax
-    * @params _value
-    * @params _colorBkg
-    * @params _isVisible
-    */
-    Slider(Screen* mScreen,UINT16 _id,UINT16 _x,UINT16 _y,UINT16 _width,UINT16 _height,int _valMax,int _value,
-           Color _colorBkg,bool _isVisible);
-    //
-    virtual void draw(void);
-    //
-    virtual ~Slider(void);
-    //
-    void setInvisible(bool _state);
-    //
-    int getValue(GraphicMessage* pmsg);
-
-protected:
-    int myValueMax;
-    int myValue;
-};
-//------------------------------------------
-//
-//
-class Input:public ObjetHeader
-{
-public:
-    /** Construct a Input
-        *
-        * @param mScreen the pointer screen
-        * @param _id the identifier Id
-        * @params _x up left
-        * @params _y up left
-        * @params _width
-        * @params _height
-        * @params _valMin
-        * @params _valInc incrementing the value
-        * @params _valMax
-        * @params _isVisible
-        */
-    Input(Screen* mScreen,UINT16 _id,UINT16 _x,UINT16 _y,UINT16 _width,UINT16 _height,float _valMin,float _valInc,
-          float _valMax,bool _isVisible);
-    //
-    virtual void draw(void);
-    //
-    virtual ~Input(void);
-    //
-    void setInvisible(bool _state);
-    //
-    float getValue(GraphicMessage* msg);
-    //
-    void setColorBkg(Color _color);
-    //
-    void setColorCursorDown(Color _color);
-    //
-    void setColorCursorUp(Color _color);
-
-protected:
-    float myValMin;
-    float myValInc;
-    float myValMax;
-    float myValue;
-    Color myColorBkg;
-    Color myColorCursorUp;
-    Color myColorCursorDown;
-};
-//-----------------------------------------
-//
-//
-class Switch:public ObjetHeader
-{
-public:
-    /** Construct a Switch
-        *
-        * @param mScreen the pointer screen
-        * @param _id the identifier Id
-        * @params _x up left
-        * @params _y up left
-        * @params _width
-        * @params _height
-        * @params _isVisible
-        */
-    Switch(Screen* mScreen,UINT16 _id,UINT16 _x,UINT16 _y,UINT16 _width,UINT16 _height,bool _isVisible);
-    //
-    virtual void draw(void);
-    //
-    virtual ~Switch(void);
-    //
-    void setInvisible(bool _state);
-    //
-    void setState(State _state);
-    //
-    void changeState(GraphicMessage* msg);
-
-protected:
-    Color myColorOn;
-    Color myColorOff;
-    Color myColorCursor;
-};
-//------------------------------------
-//
-//
-class DigitLed:public ObjetHeader
-{
-public:
-    /** Construct a Digit Led
-        *
-        * @param mScreen the pointer screen
-        * @param _id the identifier Id
-        * @params _x up left
-        * @params _y up left
-        * @params _ptVisible
-        * @params _isVisible
-        */
-    DigitLed(Screen* mScreen,UINT16 _id,UINT16 _x,UINT16 _y,bool _ptVisible,bool _isVisible);
-    //
-    virtual void draw(void);
-    //
-    virtual ~DigitLed(void);
-    //
-    void setInvisible(bool _state);
-    //
-    void setValue(char _value);
-    //
-    void setColorBkg(Color _colorBkg);
-    //
-    void setColorSeg(Color _colorSeg);
-    //
-    void setPtVisible(bool _state);
-
-protected:
-    char myValue;
-    Color myColorBkg;
-    Color myColorSeg;
-    UINT16 myIncX;
-    UINT16 myIncY;
-    bool isPtVisible;
-    //
-    void draw_seg_a(PicasoSerial* ps);
-    void draw_seg_b(PicasoSerial* ps);
-
-    void draw_seg_c(PicasoSerial* ps);
-
-    void draw_seg_d(PicasoSerial* ps);
-    void draw_seg_e(PicasoSerial* ps);
-    void draw_seg_f(PicasoSerial* ps);
-
-    void draw_seg_g(PicasoSerial* ps);
-    void draw_seg_pt(PicasoSerial* ps);
-};
-//--------------------------------------------
-//
-//
-class Digit3Led:public ObjetHeader
-{
-public:
-    /** Construct a 3 Digit Led [000]
-        *
-        * @param mScreen the pointer screen
-        * @param _id the identifier Id
-        * @params _x up left
-        * @params _y up left
-        * @params _resolution 1[000],10[00.0],100[0.00]
-        * @params _isVisible
-        */
-    Digit3Led(Screen* mScreen,UINT16 _id,UINT16 _x,UINT16 _y,UINT8 _resolution,bool _isVisible);
-    //
-    virtual void draw(void);
-    //
-    virtual  ~Digit3Led(void);
-    //
-    void setInvisible(bool _state);
-    //
-    void setValue(float _value);
-    //
-    void setColorBkg(Color _colorBkg);
-    //
-    void setColorSeg(Color _colorSeg);
-
-protected:
-    Color myColorBkg;
-    Color myColorSeg;
-    float myValue;
-    UINT8 myResolution;
-
-    DigitLed* myDigitLedCentaine;
-    DigitLed* myDigitLedDizaine;
-    DigitLed* myDigitLedUnite;
-
-};
-//--------------------------------------------------------
-#endif
\ No newline at end of file