00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef SOFTRENDERSURFACE_H
00022 #define SOFTRENDERSURFACE_H
00023
00024 #include "BaseSoftRenderSurface.h"
00025
00026
00027
00028
00029
00030
00031 template<class uintX> class SoftRenderSurface : public BaseSoftRenderSurface
00032 {
00033 protected:
00034
00035 SoftRenderSurface(int w, int h, int bpp, int rsft, int gsft, int bsft, int asft);
00036
00037 public:
00038
00039
00040 SoftRenderSurface(SDL_Surface *);
00041
00042
00043 SoftRenderSurface(int w, int h, uint8 *buf);
00044
00045
00046 SoftRenderSurface(int w, int h);
00047
00048
00049
00050
00051
00052
00053 virtual void Fill8(uint8 index, sint32 sx, sint32 sy, sint32 w, sint32 h);
00054
00055
00056 virtual void Fill32(uint32 rgb, sint32 sx, sint32 sy, sint32 w, sint32 h);
00057
00059 virtual void FillAlpha(uint8 alpha, sint32 sx, sint32 sy, sint32 w, sint32 h);
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075 virtual void Paint(Shape*s, uint32 frame, sint32 x, sint32 y, bool untformed_pal = false);
00076
00077
00078
00079 virtual void PaintNoClip(Shape*s, uint32 frame, sint32 x, sint32 y, bool untformed_pal = false);
00080
00081
00082
00083 virtual void PaintTranslucent(Shape* s, uint32 frame, sint32 x, sint32 y, bool untformed_pal = false);
00084
00085
00086
00087 virtual void PaintMirrored(Shape* s, uint32 frame, sint32 x, sint32 y, bool trans = false, bool untformed_pal = false);
00088
00089
00090
00091 virtual void PaintInvisible(Shape* s, uint32 frame, sint32 x, sint32 y, bool trans, bool mirrored, bool untformed_pal = false);
00092
00093
00094
00095 virtual void PaintHighlight(Shape* s, uint32 frame, sint32 x, sint32 y, bool trans, bool mirrored, uint32 col32, bool untformed_pal = false);
00096
00097
00098
00099 virtual void PaintHighlightInvis(Shape* s, uint32 frame, sint32 x, sint32 y, bool trans, bool mirrored, uint32 col32, bool untformed_pal = false);
00100
00101
00102 virtual void PaintMasked(Shape* s, uint32 framenum, sint32 x, sint32 y, bool trans, bool mirrored, uint32 col32 = 0, bool untformed_pal = false);
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113 virtual void DrawLine32(uint32 rgb, sint32 sx, sint32 sy, sint32 ex, sint32 ey);
00114
00115
00116
00117
00118
00119
00120 virtual void PrintTextFixed(FixedWidthFont *, const char *text, int x, int y);
00121
00122
00123 virtual void PrintCharFixed(FixedWidthFont *, int character, int x, int y);
00124
00125
00126
00127
00128
00129
00130
00131 virtual void Blit(Texture *, sint32 sx, sint32 sy, sint32 w, sint32 h, sint32 dx, sint32 dy, bool alpha_blend=false);
00132
00133
00134 virtual void FadedBlit(Texture *, sint32 sx, sint32 sy, sint32 w, sint32 h, sint32 dx, sint32 dy, uint32 col32, bool alpha_blend=false);
00135
00136
00137 virtual void MaskedBlit(Texture *, sint32 sx, sint32 sy, sint32 w, sint32 h, sint32 dx, sint32 dy, uint32 col32, bool alpha_blend=false);
00138
00139
00140 virtual void StretchBlit(Texture *, sint32 sx, sint32 sy, sint32 sw, sint32 sh, sint32 dx, sint32 dy, sint32 dw, sint32 dh, bool bilinear = false, bool clampedges = false);
00141
00142
00143 virtual bool ScalerBlit(Texture *, sint32 sx, sint32 sy, sint32 sw, sint32 sh, sint32 dx, sint32 dy, sint32 dw, sint32 dh, const Pentagram::Scaler *, bool clampedges = false);
00144
00146
00148 };
00149
00150 #endif