File: plugin_impl.h

package info (click to toggle)
kdevelop3 4%3A3.2.0-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 58,220 kB
  • ctags: 33,997
  • sloc: cpp: 278,404; ansic: 48,238; sh: 23,721; tcl: 19,882; perl: 5,498; makefile: 4,717; ruby: 1,610; python: 1,549; awk: 1,484; xml: 563; java: 359; php: 20; asm: 14; ada: 5; pascal: 4; fortran: 4; haskell: 2; sql: 1
file content (77 lines) | stat: -rw-r--r-- 1,598 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77

#ifndef %{APPNAMEUC}_IMPL_H
#define %{APPNAMEUC}_IMPL_H

struct SDL_Surface;

/**
 * @short This class is used for painting and supports some effects.
 * Note: This is used in Blurscope. Feel free to remove this and
 *       implement your own drawing routines!
 */
template<class Pixel> class Bitmap
{
public:
    int width, height, extra;
    Pixel *data;

    Bitmap(int e=0) : extra(e), data(0) { }
    ~Bitmap() { delete[] data; }

    inline void addPixel(int x, int y, int bright1, int bright2);
    void addVertLine(int x, int y, int y2, int br1, int br2);
    
    void fadeStar();
    
    void size(int w,int h)
    {
        delete[] data;
        width = w;
        height = h;
        data = new Pixel[w*h+extra];
        clear();
    }

    void clear()
    {
        memset(data,0,sizeof(Pixel)*(width*height+extra));
    }
};

/**
 * @short This class does:
 * o set up view
 * o drawing routines.
 */
class %{APPNAME}View
{
public:
    %{APPNAME}View(int in);
    ~%{APPNAME}View();
    
protected:
    /** Screen initialization with SDL. Note, that you can initialize OpenGL with SDL!  */
    void startVideo();
    /** SDL event queue  */
    void checkInput();
    /** Used in Blurscope. Feel free to implement your own drawing routines!  */
    void setupPalette(double dummy=0.0);

    /** Draw everything.  */
    void repaint();

private:
    /** used for pipelining  */
    int mFd;

    /** SDL screen surface  */
    SDL_Surface *surface;
    Bitmap<unsigned short> outputBmp;
    
    bool fullscreen;
    int width;
    int height;
};

#endif // %{APPNAMEUC}_IMPL_H