Ignore:
Timestamp:
Sep 27, 2008, 4:11:36 PM (12 years ago)
Author:
Sam Hocevar
Message:

Continuing the libcucul-libcaca merge.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/cxx/caca++.h

    r2821 r2822  
    2525
    2626#include <caca.h>
    27 #include <caca++.h>
    28 #include <cucul++.h>
    2927
    3028#undef __class
     
    3432#   define __class class
    3533#endif
     34
     35class Canvas;
     36
     37__class Charset
     38{
     39 public:
     40    uint32_t utf8ToUtf32(char const *, size_t *);
     41    size_t utf32ToUtf8(char *, uint32_t);
     42    uint8_t utf32ToCp437(uint32_t);
     43    uint32_t cp437ToUtf32(uint8_t);
     44};
     45
     46/* Ugly, I know */
     47__class Font
     48{
     49 public:
     50    ~Font();
     51    Font(void const *, unsigned int);
     52    char const *const * getList(void);
     53    unsigned int getWidth();
     54    unsigned int getHeight();
     55    void renderCanvas(Canvas *, uint8_t *, unsigned int,
     56                               unsigned int, unsigned int);
     57    uint32_t const *getBlocks();
     58
     59 private:
     60    caca_font *font;
     61};
     62
     63__class Dither
     64{
     65 public:
     66    Dither(unsigned int, unsigned int, unsigned int, unsigned int,
     67           unsigned int, unsigned int, unsigned int, unsigned int);
     68    ~Dither();
     69
     70    void setPalette(uint32_t r[], uint32_t g[],
     71                    uint32_t b[], uint32_t a[]);
     72    void setBrightness(float);
     73    void setGamma(float);
     74    void setContrast(float);
     75    void setAntialias(char const *);
     76    char const *const * getAntialiasList();
     77    void setColor(char const *);
     78    char const *const * getColorList();
     79    void setCharset(char const *);
     80    char const *const * getCharsetList();
     81    void setMode(char const *);
     82    char const *const * getModeList();
     83    void Bitmap(Canvas *, int, int, int, int, void *);
     84
     85 private:
     86    caca_dither *dither;
     87};
     88
     89__class Canvas
     90{
     91    friend class Caca;
     92    friend class Dither;
     93    friend class Font;
     94 public:
     95    Canvas();
     96    Canvas(int width, int height);
     97    ~Canvas();
     98
     99    void setSize(unsigned int w, unsigned int h);
     100    unsigned int getWidth(void);
     101    unsigned int getHeight(void);
     102    uint32_t getAttr(int, int);
     103    int setAttr(uint32_t);
     104    int setColorANSI(uint8_t f, uint8_t b);
     105    int setColorARGB(unsigned int f, unsigned int b);
     106    void Printf(int x, int y , char const * format, ...);
     107    void putChar(int x, int y, uint32_t ch);
     108    uint32_t getChar(int, int);
     109    void putStr(int x, int y, char *str);
     110    void Clear(void);
     111    void Blit(int, int, Canvas* c1, Canvas* c2);
     112    void Invert();
     113    void Flip();
     114    void Flop();
     115    void Rotate180();
     116    void RotateLeft();
     117    void RotateRight();
     118    void drawLine(int, int, int, int, uint32_t);
     119    void drawPolyline(int const x[], int const y[], int, uint32_t);
     120    void drawThinLine(int, int, int, int);
     121    void drawThinPolyline(int const x[], int const y[], int);
     122    void drawCircle(int, int, int, uint32_t);
     123    void drawEllipse(int, int, int, int, uint32_t);
     124    void drawThinEllipse(int, int, int, int);
     125    void fillEllipse(int, int, int, int, uint32_t);
     126    void drawBox(int, int, int, int, uint32_t);
     127    void drawThinBox(int, int, int, int);
     128    void drawCP437Box(int, int, int, int);
     129    void fillBox(int, int, int, int, uint32_t);
     130    void drawTriangle(int, int, int, int, int, int, uint32_t);
     131    void drawThinTriangle(int, int, int, int, int, int);
     132    void fillTriangle(int, int, int, int, int, int, uint32_t);
     133    int setBoundaries(caca_canvas_t *, int, int, unsigned int, unsigned int);
     134    unsigned int getFrameCount();
     135    int setFrame(unsigned int);
     136    int createFrame(unsigned int);
     137    int freeFrame(unsigned int);
     138
     139    char const * const * getImportList(void);
     140    long int importMemory(void const *, size_t, char const *);
     141    long int importFile(char const *, char const *);
     142    char const * const * getExportList(void);
     143    void *exportMemory(char const *, size_t *);
     144
     145    static int Rand(int, int);
     146    static char const * getVersion();
     147
     148 protected:
     149    caca_canvas_t *get_caca_canvas_t();
     150
     151 private:
     152    caca_canvas_t *cv;
     153};
    36154
    37155__class Event
Note: See TracChangeset for help on using the changeset viewer.