diff --git a/src/ase/context.cpp b/src/ase/context.cpp index ec55e9f4e..21ec4d181 100644 --- a/src/ase/context.cpp +++ b/src/ase/context.cpp @@ -22,6 +22,7 @@ #include #include "ase/context.h" +#include "raster/sprite.h" Context::Context() { diff --git a/src/jinete/jmutex.cpp b/src/jinete/jmutex.cpp index 5a5a2f537..83a5a98fa 100644 --- a/src/jinete/jmutex.cpp +++ b/src/jinete/jmutex.cpp @@ -34,7 +34,7 @@ #include "jinete/jmutex.h" -struct { +static struct { void (*destroy)(JMutex mutex); void (*lock)(JMutex mutex); void (*unlock)(JMutex mutex); diff --git a/src/raster/image_impl.h b/src/raster/image_impl.h index ccf002dfb..76313c3b1 100644 --- a/src/raster/image_impl.h +++ b/src/raster/image_impl.h @@ -223,6 +223,7 @@ public: ////////////////////////////////////////////////////////////////////// // Specializations +template<> void ImageImpl::clear(int color) { memset(raw_pixels(), color, w*h); @@ -230,6 +231,7 @@ void ImageImpl::clear(int color) /* if "color_map" is not NULL, it's used by the routine to merge the source and the destionation pixels */ +template<> void ImageImpl::merge(const Image* src, int x, int y, int opacity, int blend_mode) { Image* dst = this; @@ -305,6 +307,7 @@ void ImageImpl::merge(const Image* src, int x, int y, int opacity } } +template<> void ImageImpl::clear(int color) { memset(raw_pixels(), color ? 0xff: 0x00, ((w+7)/8) * h); @@ -316,6 +319,7 @@ void ImageImpl::clear(int color) _image_bitmap_next_bit(d, addr); \ } +template<> void ImageImpl::hline(int x1, int y, int x2, int color) { div_t d = div(x1, 8); @@ -330,6 +334,7 @@ void ImageImpl::hline(int x1, int y, int x2, int color) } } +template<> void ImageImpl::rectfill(int x1, int y1, int x2, int y2, int color) { div_t d, beg_d = div(x1, 8); @@ -352,6 +357,7 @@ void ImageImpl::rectfill(int x1, int y1, int x2, int y2, int color } } +template<> void ImageImpl::copy(const Image* src, int x, int y) { Image* dst = this; @@ -416,6 +422,7 @@ void ImageImpl::copy(const Image* src, int x, int y) } } +template<> void ImageImpl::merge(const Image* src, int x, int y, int opacity, int blend_mode) { Image* dst = this; @@ -478,6 +485,7 @@ void ImageImpl::merge(const Image* src, int x, int y, int opacity, } } +template<> void ImageImpl::to_allegro(BITMAP *bmp, int _x, int _y) const { const_address_t addr = raw_pixels(); @@ -609,6 +617,7 @@ void ImageImpl::to_allegro(BITMAP *bmp, int _x, int _y) const bmp_unwrite_line(bmp); } +template<> void ImageImpl::to_allegro(BITMAP *bmp, int _x, int _y) const { const_address_t addr = raw_pixels(); @@ -734,6 +743,7 @@ void ImageImpl::to_allegro(BITMAP *bmp, int _x, int _y) const bmp_unwrite_line(bmp); } +template<> void ImageImpl::to_allegro(BITMAP *bmp, int _x, int _y) const { #define RGB_TRIPLET \ @@ -851,6 +861,7 @@ void ImageImpl::to_allegro(BITMAP *bmp, int _x, int _y) const bmp_unwrite_line(bmp); } +template<> void ImageImpl::to_allegro(BITMAP *bmp, int _x, int _y) const { const_address_t addr;