remove commented out code
This commit is contained in:
parent
32f6cbfb5c
commit
13883b7928
@ -3175,7 +3175,6 @@ void Horizontal_grid_line(word x_pos,word y_pos,word width)
|
||||
|
||||
for (x=!(x_pos&1);x<width;x+=2)
|
||||
Pixel(x_pos+x, y_pos, xor_lut[Get_Screen_pixel((x_pos+x)*Pixel_width, (y_pos-1)*Pixel_height)]);
|
||||
//Pixel(x_pos+x, y_pos, xor_lut[*((y_pos-1)*Pixel_height*VIDEO_LINE_WIDTH+x_pos*Pixel_width+Screen_pixels+x*Pixel_width)]);
|
||||
}
|
||||
|
||||
void Vertical_grid_line(word x_pos,word y_pos,word height)
|
||||
@ -3184,7 +3183,6 @@ void Vertical_grid_line(word x_pos,word y_pos,word height)
|
||||
|
||||
for (y=!(y_pos&1);y<height;y+=2)
|
||||
Pixel(x_pos, y_pos+y, xor_lut[Get_Screen_pixel(x_pos*Pixel_width-1, (y_pos+y)*Pixel_height)]);
|
||||
//Pixel(x_pos, y_pos+y, xor_lut[*(Screen_pixels+(x_pos*Pixel_width-1)+(y_pos*Pixel_height+y*Pixel_height)*VIDEO_LINE_WIDTH)]);
|
||||
}
|
||||
|
||||
// Tile Grid
|
||||
|
||||
@ -37,10 +37,6 @@
|
||||
void Pixel_double (word x,word y,byte color)
|
||||
/* Affiche un pixel de la color aux coords x;y à l'écran */
|
||||
{
|
||||
//*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH)=color;
|
||||
//*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 1)=color;
|
||||
//*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1)* VIDEO_LINE_WIDTH)=color;
|
||||
//*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1)* VIDEO_LINE_WIDTH + 1)=color;
|
||||
Set_Screen_pixel(x * ZOOMX, y * ZOOMY, color);
|
||||
Set_Screen_pixel(x * ZOOMX + 1, y * ZOOMY, color);
|
||||
Set_Screen_pixel(x * ZOOMX, y * ZOOMY + 1, color);
|
||||
@ -50,21 +46,12 @@ void Pixel_double (word x,word y,byte color)
|
||||
byte Read_pixel_double (word x,word y)
|
||||
/* On retourne la couleur du pixel aux coords données */
|
||||
{
|
||||
//return *( Screen_pixels + y * ZOOMY * VIDEO_LINE_WIDTH + x * ZOOMX);
|
||||
return Get_Screen_pixel(x * ZOOMX, y * ZOOMY);
|
||||
}
|
||||
|
||||
void Block_double (word start_x,word start_y,word width,word height,byte color)
|
||||
/* On affiche un rectangle de la couleur donnée */
|
||||
{
|
||||
#if 0
|
||||
SDL_Rect rectangle;
|
||||
rectangle.x=start_x*ZOOMX;
|
||||
rectangle.y=start_y*ZOOMY;
|
||||
rectangle.w=width*ZOOMX;
|
||||
rectangle.h=height*ZOOMY;
|
||||
SDL_FillRect(Screen_SDL,&rectangle,color);
|
||||
#endif
|
||||
Screen_FillRect(start_x * ZOOMX, start_y * ZOOMY, width * ZOOMX, height * ZOOMY, color);
|
||||
}
|
||||
|
||||
@ -88,7 +75,6 @@ void Display_part_of_screen_double (word width,word height,word image_width)
|
||||
dest+=ZOOMX;
|
||||
}
|
||||
// On double la ligne qu'on vient de copier
|
||||
//memcpy(dest-width*ZOOMX+VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(0, y * ZOOMY + 1), Get_Screen_pixel_ptr(0, y * ZOOMY), width * ZOOMX);
|
||||
|
||||
// On passe à la ligne suivante
|
||||
@ -136,14 +122,10 @@ void Pixel_preview_magnifier_double (word x,word y,byte color)
|
||||
|
||||
void Horizontal_XOR_line_double(word x_pos,word y_pos,word width)
|
||||
{
|
||||
//On calcule la valeur initiale de dest:
|
||||
//byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels;
|
||||
|
||||
int x;
|
||||
byte color;
|
||||
|
||||
for (x=0;x<width*ZOOMX;x+=ZOOMX) {
|
||||
//*(dest+x+VIDEO_LINE_WIDTH+1)=*(dest+x+VIDEO_LINE_WIDTH)=*(dest+x+1)=*(dest+x)=xor_lut[*(dest+x)];
|
||||
color = xor_lut[Get_Screen_pixel(x_pos*ZOOMX + x, y_pos * ZOOMY)];
|
||||
Set_Screen_pixel(x_pos * ZOOMX + x, y_pos * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + x + 1, y_pos * ZOOMY, color);
|
||||
@ -156,7 +138,6 @@ void Vertical_XOR_line_double(word x_pos,word y_pos,word height)
|
||||
{
|
||||
int i;
|
||||
byte color;
|
||||
//byte *dest=Screen_pixels+x_pos*ZOOMX+y_pos*VIDEO_LINE_WIDTH*ZOOMY;
|
||||
for (i = 0; i < height; i++)
|
||||
{
|
||||
color = xor_lut[Get_Screen_pixel(x_pos*ZOOMX, (y_pos + i) * ZOOMY)];
|
||||
@ -164,8 +145,6 @@ void Vertical_XOR_line_double(word x_pos,word y_pos,word height)
|
||||
Set_Screen_pixel(x_pos * ZOOMX + 1, (y_pos + i) * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX, (y_pos + i) * ZOOMY + 1, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + 1, (y_pos + i) * ZOOMY + 1, color);
|
||||
//*dest=*(dest+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+1)=xor_lut[*dest];
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY;
|
||||
}
|
||||
}
|
||||
|
||||
@ -240,7 +219,6 @@ void Display_brush_mono_double(word x_pos, word y_pos,
|
||||
|
||||
void Clear_brush_double(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width)
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src)
|
||||
int y;
|
||||
int x;
|
||||
@ -256,7 +234,6 @@ void Clear_brush_double(word x_pos,word y_pos,word x_offset,word y_offset,word w
|
||||
for(x=width;x!=0;x--)
|
||||
//Pour chaque pixel
|
||||
{
|
||||
//*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+1)=*dest=*src;
|
||||
*(dest2+1)=*(dest2)=*(dest+1)=*dest=*src;
|
||||
|
||||
// On passe au pixel suivant
|
||||
@ -291,7 +268,6 @@ void Display_brush_double(byte * brush, word x_pos,word y_pos,word x_offset,word
|
||||
// On vérifie que ce n'est pas la transparence
|
||||
if(*src != transp_color)
|
||||
{
|
||||
//*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+1)=*dest=*src;
|
||||
*(dest2+1)=*(dest2)=*(dest+1)=*dest=*src;
|
||||
}
|
||||
|
||||
@ -318,14 +294,11 @@ void Remap_screen_double(word x_pos,word y_pos,word width,word height,byte * con
|
||||
// Pour chaque pixel
|
||||
for(x=width;x>0;x--)
|
||||
{
|
||||
//*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+1)=*dest=
|
||||
*(dest2+1)=*(dest2)=*(dest+1)=*dest=
|
||||
conversion_table[*dest];
|
||||
dest +=ZOOMX;
|
||||
dest2+=ZOOMX;
|
||||
}
|
||||
|
||||
//dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX;
|
||||
}
|
||||
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
@ -335,9 +308,7 @@ void Display_line_on_screen_fast_double(word x_pos,word y_pos,word width,byte *
|
||||
/* On affiche toute une ligne de pixels telle quelle. */
|
||||
/* Utilisée si le buffer contient déja des pixel doublés. */
|
||||
{
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY), line, width*ZOOMX);
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+1)*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY + 1), line, width*ZOOMX);
|
||||
}
|
||||
|
||||
@ -345,12 +316,8 @@ void Display_line_on_screen_double(word x_pos,word y_pos,word width,byte * line)
|
||||
/* On affiche une ligne de pixels en les doublant. */
|
||||
{
|
||||
int x;
|
||||
//byte *dest;
|
||||
//dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH;
|
||||
for(x=0; x<width; x++)
|
||||
{
|
||||
//*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+1)=*dest=*line;
|
||||
//dest+=ZOOMX;
|
||||
Set_Screen_pixel((x_pos + x) * ZOOMX, y_pos * ZOOMY, *line);
|
||||
Set_Screen_pixel((x_pos + x) * ZOOMX + 1, y_pos * ZOOMY, *line);
|
||||
Set_Screen_pixel((x_pos + x) * ZOOMX, y_pos * ZOOMY + 1, *line);
|
||||
@ -364,7 +331,6 @@ void Display_transparent_mono_line_on_screen_double(
|
||||
// Affiche une ligne à l'écran avec une couleur + transparence.
|
||||
// Utilisé par les brosses en mode zoom
|
||||
{
|
||||
//byte* dest = Screen_pixels+ y_pos*VIDEO_LINE_WIDTH + x_pos*ZOOMX;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos);
|
||||
int x;
|
||||
// Pour chaque pixel
|
||||
@ -381,7 +347,6 @@ void Display_transparent_mono_line_on_screen_double(
|
||||
|
||||
void Read_line_screen_double(word x_pos,word y_pos,word width,byte * line)
|
||||
{
|
||||
//memcpy(line,VIDEO_LINE_WIDTH*ZOOMY * y_pos + x_pos * ZOOMX + Screen_pixels,width*ZOOMX);
|
||||
memcpy(line, Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY), width*ZOOMX);
|
||||
}
|
||||
|
||||
@ -447,7 +412,6 @@ void Display_brush_color_zoom_double(word x_pos,word y_pos,
|
||||
for(bx=Main.magnifier_factor;bx>0;bx--)
|
||||
{
|
||||
Display_transparent_line_on_screen_wide(x_pos,y*ZOOMY,width*Main.magnifier_factor,buffer,transp_color);
|
||||
//memcpy(Screen_pixels + (y*ZOOMY+1)*VIDEO_LINE_WIDTH + x_pos*ZOOMX, Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x_pos*ZOOMX, width*ZOOMX*Main.magnifier_factor);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY + 1), Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY), width*ZOOMX*Main.magnifier_factor);
|
||||
y++;
|
||||
if(y==end_y_pos)
|
||||
@ -549,5 +513,3 @@ void Clear_brush_scaled_double(word x_pos,word y_pos,word x_offset,word y_offset
|
||||
src+= image_width;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
57
src/pxquad.c
57
src/pxquad.c
@ -36,24 +36,6 @@
|
||||
void Pixel_quad (word x,word y,byte color)
|
||||
/* Affiche un pixel de la color aux coords x;y à l'écran */
|
||||
{
|
||||
#if 0
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 2)=color;
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 3)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH + 2)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH + 3)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+2) * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+2) * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+2) * VIDEO_LINE_WIDTH + 2)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+2) * VIDEO_LINE_WIDTH + 3)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+3) * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+3) * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+3) * VIDEO_LINE_WIDTH + 2)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+3) * VIDEO_LINE_WIDTH + 3)=color;
|
||||
#endif
|
||||
Set_Screen_pixel(x * ZOOMX, y * ZOOMY, color);
|
||||
Set_Screen_pixel(x * ZOOMX + 1, y * ZOOMY, color);
|
||||
Set_Screen_pixel(x * ZOOMX + 2, y * ZOOMY, color);
|
||||
@ -76,28 +58,18 @@ void Pixel_quad (word x,word y,byte color)
|
||||
byte Read_pixel_quad (word x,word y)
|
||||
/* On retourne la couleur du pixel aux coords données */
|
||||
{
|
||||
//return *( Screen_pixels + y * ZOOMY * VIDEO_LINE_WIDTH + x * ZOOMX);
|
||||
return Get_Screen_pixel(x * ZOOMX, y * ZOOMY);
|
||||
}
|
||||
|
||||
void Block_quad (word start_x,word start_y,word width,word height,byte color)
|
||||
/* On affiche un rectangle de la couleur donnée */
|
||||
{
|
||||
#if 0
|
||||
SDL_Rect rectangle;
|
||||
rectangle.x=start_x*ZOOMX;
|
||||
rectangle.y=start_y*ZOOMY;
|
||||
rectangle.w=width*ZOOMX;
|
||||
rectangle.h=height*ZOOMY;
|
||||
SDL_FillRect(Screen_SDL,&rectangle,color);
|
||||
#endif
|
||||
Screen_FillRect(start_x * ZOOMX, start_y * ZOOMY, width * ZOOMX, height * ZOOMY, color);
|
||||
}
|
||||
|
||||
void Display_part_of_screen_quad (word width,word height,word image_width)
|
||||
/* Afficher une partie de l'image telle quelle sur l'écran */
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src)
|
||||
int y;
|
||||
int dy;
|
||||
@ -114,18 +86,14 @@ void Display_part_of_screen_quad (word width,word height,word image_width)
|
||||
dest+=ZOOMX;
|
||||
}
|
||||
// On double la ligne qu'on vient de copier
|
||||
//memcpy(dest-width*ZOOMX+VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(0, y * ZOOMY + 1), Get_Screen_pixel_ptr(0, y * ZOOMY), width * ZOOMX);
|
||||
// On la triple
|
||||
//memcpy(dest-width*ZOOMX+2*VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(0, y * ZOOMY + 2), Get_Screen_pixel_ptr(0, y * ZOOMY), width * ZOOMX);
|
||||
// On la quadruple
|
||||
//memcpy(dest-width*ZOOMX+3*VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(0, y * ZOOMY + 3), Get_Screen_pixel_ptr(0, y * ZOOMY), width * ZOOMX);
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=image_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX;
|
||||
}
|
||||
//Update_rect(0,0,width,height);
|
||||
}
|
||||
@ -176,7 +144,6 @@ void Horizontal_XOR_line_quad(word x_pos,word y_pos,word width)
|
||||
|
||||
for (x=0;x<width*ZOOMX;x+=ZOOMX)
|
||||
{
|
||||
//*(dest+x+3*VIDEO_LINE_WIDTH+3)=*(dest+x+3*VIDEO_LINE_WIDTH+2)=*(dest+x+3*VIDEO_LINE_WIDTH+1)=*(dest+x+3*VIDEO_LINE_WIDTH)=*(dest+x+2*VIDEO_LINE_WIDTH+3)=*(dest+x+2*VIDEO_LINE_WIDTH+2)=*(dest+x+2*VIDEO_LINE_WIDTH+1)=*(dest+x+2*VIDEO_LINE_WIDTH)=*(dest+x+VIDEO_LINE_WIDTH+3)=*(dest+x+VIDEO_LINE_WIDTH+2)=*(dest+x+VIDEO_LINE_WIDTH+1)=*(dest+x+VIDEO_LINE_WIDTH)=*(dest+x+3)=*(dest+x+2)=*(dest+x+1)=*(dest+x)=xor_lut[*(dest+x)];
|
||||
byte color = xor_lut[Get_Screen_pixel(x_pos * ZOOMX + x, y_pos * ZOOMY)];
|
||||
Set_Screen_pixel(x_pos * ZOOMX + x, y_pos * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + x + 1, y_pos * ZOOMY, color);
|
||||
@ -200,11 +167,8 @@ void Horizontal_XOR_line_quad(word x_pos,word y_pos,word width)
|
||||
void Vertical_XOR_line_quad(word x_pos,word y_pos,word height)
|
||||
{
|
||||
int i;
|
||||
//byte *dest=Screen_pixels+x_pos*ZOOMX+y_pos*VIDEO_LINE_WIDTH*ZOOMY;
|
||||
for (i = 0; i < height; i++)
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+3)=*(dest+3*VIDEO_LINE_WIDTH+2)=*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+3)=*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+3)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+3)=*(dest+2)=*(dest+1)=*(dest)=xor_lut[*(dest)];
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY;
|
||||
byte color = xor_lut[Get_Screen_pixel(x_pos * ZOOMX, (y_pos + i) * ZOOMY)];
|
||||
Set_Screen_pixel(x_pos * ZOOMX, (y_pos + i) * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + 1, (y_pos + i) * ZOOMY, color);
|
||||
@ -246,7 +210,6 @@ void Display_brush_color_quad(word x_pos,word y_pos,word x_offset,word y_offset,
|
||||
// On vérifie que ce n'est pas la transparence
|
||||
if(*src != transp_color)
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+3) = *(dest+3*VIDEO_LINE_WIDTH+2) = *(dest+3*VIDEO_LINE_WIDTH+1) = *(dest+3*VIDEO_LINE_WIDTH) = *(dest+2*VIDEO_LINE_WIDTH+3) = *(dest+2*VIDEO_LINE_WIDTH+2) = *(dest+2*VIDEO_LINE_WIDTH+1) = *(dest+2*VIDEO_LINE_WIDTH) = *(dest+VIDEO_LINE_WIDTH+3) = *(dest+VIDEO_LINE_WIDTH+2) = *(dest+VIDEO_LINE_WIDTH+1) = *(dest+VIDEO_LINE_WIDTH) = *(dest+3) = *(dest+2) = *(dest+1) = *dest = *src;
|
||||
*(dest3+3) = *(dest3+2) = *(dest3+1) = *(dest3) = *(dest2+3) = *(dest2+2) = *(dest2+1) = *(dest2) = *(dest1+3) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+3) = *(dest+2) = *(dest+1) = *dest = *src;
|
||||
}
|
||||
|
||||
@ -285,7 +248,6 @@ void Display_brush_mono_quad(word x_pos, word y_pos,
|
||||
//Pour chaque pixel
|
||||
{
|
||||
if (*src!=transp_color)
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+3)=*(dest+3*VIDEO_LINE_WIDTH+2)=*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+3)=*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+3)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+3)=*(dest+2)=*(dest+1)=*dest=color;
|
||||
*(dest3+3) = *(dest3+2) = *(dest3+1) = *(dest3) = *(dest2+3) = *(dest2+2) = *(dest2+1) = *(dest2) = *(dest1+3) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+3) = *(dest+2) = *(dest+1) = *dest = color;
|
||||
|
||||
// On passe au pixel suivant
|
||||
@ -298,14 +260,12 @@ void Display_brush_mono_quad(word x_pos, word y_pos,
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=brush_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
|
||||
void Clear_brush_quad(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width)
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src)
|
||||
int y;
|
||||
int x;
|
||||
@ -323,7 +283,6 @@ void Clear_brush_quad(word x_pos,word y_pos,word x_offset,word y_offset,word wid
|
||||
for(x=width;x!=0;x--)
|
||||
//Pour chaque pixel
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+3)=*(dest+3*VIDEO_LINE_WIDTH+2)=*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+3)=*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+3)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+3)=*(dest+2)=*(dest+1)=*dest=*src;
|
||||
*(dest3+3) = *(dest3+2) = *(dest3+1) = *(dest3) = *(dest2+3) = *(dest2+2) = *(dest2+1) = *(dest2) = *(dest1+3) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+3) = *(dest+2) = *(dest+1) = *dest = *src;
|
||||
|
||||
// On passe au pixel suivant
|
||||
@ -336,7 +295,6 @@ void Clear_brush_quad(word x_pos,word y_pos,word x_offset,word y_offset,word wid
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=image_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
@ -363,7 +321,6 @@ void Display_brush_quad(byte * brush, word x_pos,word y_pos,word x_offset,word y
|
||||
// On vérifie que ce n'est pas la transparence
|
||||
if(*src != transp_color)
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+3)=*(dest+3*VIDEO_LINE_WIDTH+2)=*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+3)=*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+3)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+3)=*(dest+2)=*(dest+1)=*dest=*src;
|
||||
*(dest3+3) = *(dest3+2) = *(dest3+1) = *(dest3) = *(dest2+3) = *(dest2+2) = *(dest2+1) = *(dest2) = *(dest1+3) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+3) = *(dest+2) = *(dest+1) = *dest = *src;
|
||||
}
|
||||
|
||||
@ -394,7 +351,6 @@ void Remap_screen_quad(word x_pos,word y_pos,word width,word height,byte * conve
|
||||
// Pour chaque pixel
|
||||
for(x=width;x>0;x--)
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+3)=*(dest+3*VIDEO_LINE_WIDTH+2)=*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+3)=*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+3)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+3)=*(dest+2)=*(dest+1)=*dest=
|
||||
*(dest3+3) = *(dest3+2) = *(dest3+1) = *(dest3) = *(dest2+3) = *(dest2+2) = *(dest2+1) = *(dest2) = *(dest1+3) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+3) = *(dest+2) = *(dest+1) = *dest =
|
||||
conversion_table[*dest];
|
||||
dest +=ZOOMX;
|
||||
@ -402,8 +358,6 @@ void Remap_screen_quad(word x_pos,word y_pos,word width,word height,byte * conve
|
||||
dest2+=ZOOMX;
|
||||
dest3+=ZOOMX;
|
||||
}
|
||||
|
||||
//dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX;
|
||||
}
|
||||
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
@ -413,10 +367,6 @@ void Display_line_on_screen_fast_quad(word x_pos,word y_pos,word width,byte * li
|
||||
/* On affiche toute une ligne de pixels telle quelle. */
|
||||
/* Utilisée si le buffer contient déja des pixel doublés. */
|
||||
{
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+1)*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+2)*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+3)*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(+x_pos*ZOOMX, y_pos*ZOOMY), line, width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(+x_pos*ZOOMX, y_pos*ZOOMY+1), line, width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(+x_pos*ZOOMX, y_pos*ZOOMY+2), line, width*ZOOMX);
|
||||
@ -427,15 +377,12 @@ void Display_line_on_screen_quad(word x_pos,word y_pos,word width,byte * line)
|
||||
/* On affiche une ligne de pixels en les doublant. */
|
||||
{
|
||||
int x;
|
||||
//byte *dest;
|
||||
//dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY);
|
||||
byte* dest1 = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY + 1);
|
||||
byte* dest2 = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY + 2);
|
||||
byte* dest3 = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY + 3);
|
||||
for(x=width;x>0;x--)
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+3)=*(dest+3*VIDEO_LINE_WIDTH+2)=*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+3)=*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+3)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+3)=*(dest+2)=*(dest+1)=*dest=*line;
|
||||
*(dest3+3) = *(dest3+2) = *(dest3+1) = *(dest3) = *(dest2+3) = *(dest2+2) = *(dest2+1) = *(dest2) = *(dest1+3) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+3) = *(dest+2) = *(dest+1) = *dest = *line;
|
||||
dest+=ZOOMX;
|
||||
dest1+=ZOOMX;
|
||||
@ -467,7 +414,6 @@ void Display_transparent_mono_line_on_screen_quad(
|
||||
|
||||
void Read_line_screen_quad(word x_pos,word y_pos,word width,byte * line)
|
||||
{
|
||||
//memcpy(line,VIDEO_LINE_WIDTH*ZOOMY * y_pos + x_pos * ZOOMX + Screen_pixels,width*ZOOMX);
|
||||
memcpy(line, Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY), width*ZOOMX);
|
||||
}
|
||||
|
||||
@ -547,13 +493,10 @@ void Display_brush_color_zoom_quad(word x_pos,word y_pos,
|
||||
dest+=ZOOMX;
|
||||
}
|
||||
// Double the line
|
||||
//memcpy(Screen_pixels + (y*ZOOMY+1)*VIDEO_LINE_WIDTH + x_pos*ZOOMX, Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x_pos*ZOOMX, width*ZOOMX*Main.magnifier_factor);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY + 1), Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY), width*ZOOMX*Main.magnifier_factor);
|
||||
// Triple the line
|
||||
//memcpy(Screen_pixels + (y*ZOOMY+2)*VIDEO_LINE_WIDTH + x_pos*ZOOMX, Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x_pos*ZOOMX, width*ZOOMX*Main.magnifier_factor);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY + 2), Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY), width*ZOOMX*Main.magnifier_factor);
|
||||
// Quadruple it
|
||||
//memcpy(Screen_pixels + (y*ZOOMY+3)*VIDEO_LINE_WIDTH + x_pos*ZOOMX, Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x_pos*ZOOMX, width*ZOOMX*Main.magnifier_factor);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY + 3), Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY), width*ZOOMX*Main.magnifier_factor);
|
||||
y++;
|
||||
if(y==end_y_pos)
|
||||
|
||||
@ -33,35 +33,24 @@
|
||||
void Pixel_simple (word x,word y,byte color)
|
||||
/* Affiche un pixel de la color aux coords x;y à l'écran */
|
||||
{
|
||||
//*(Screen_pixels + x + y * VIDEO_LINE_WIDTH)=color;
|
||||
Set_Screen_pixel(x, y, color);
|
||||
}
|
||||
|
||||
byte Read_pixel_simple (word x,word y)
|
||||
/* On retourne la couleur du pixel aux coords données */
|
||||
{
|
||||
//return *( Screen_pixels + y * VIDEO_LINE_WIDTH + x );
|
||||
return Get_Screen_pixel(x, y);
|
||||
}
|
||||
|
||||
void Block_simple (word start_x,word start_y,word width,word height,byte color)
|
||||
/* On affiche un rectangle de la couleur donnée */
|
||||
{
|
||||
#if 0
|
||||
SDL_Rect rectangle;
|
||||
rectangle.x=start_x;
|
||||
rectangle.y=start_y;
|
||||
rectangle.w=width;
|
||||
rectangle.h=height;
|
||||
SDL_FillRect(Screen_SDL,&rectangle,color);
|
||||
#endif
|
||||
Screen_FillRect(start_x, start_y, width, height, color);
|
||||
}
|
||||
|
||||
void Display_part_of_screen_simple (word width,word height,word image_width)
|
||||
/* Afficher une partie de l'image telle quelle sur l'écran */
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src)
|
||||
word y;
|
||||
|
||||
@ -118,7 +107,6 @@ void Pixel_preview_magnifier_simple (word x,word y,byte color)
|
||||
void Horizontal_XOR_line_simple(word x_pos,word y_pos,word width)
|
||||
{
|
||||
//On calcule la valeur initiale de dest:
|
||||
//byte* dest=y_pos*VIDEO_LINE_WIDTH+x_pos+Screen_pixels;
|
||||
byte* dest=Get_Screen_pixel_ptr(x_pos, y_pos);
|
||||
|
||||
int x;
|
||||
@ -133,9 +121,7 @@ void Vertical_XOR_line_simple(word x_pos,word y_pos,word height)
|
||||
byte color;
|
||||
for (i=y_pos;i<y_pos+height;i++)
|
||||
{
|
||||
//color=*(Screen_pixels+x_pos+i*VIDEO_LINE_WIDTH);
|
||||
color = Get_Screen_pixel(x_pos, i);
|
||||
//*(Screen_pixels+x_pos+i*VIDEO_LINE_WIDTH)=xor_lut[color];
|
||||
Set_Screen_pixel(x_pos, i, xor_lut[color]);
|
||||
}
|
||||
}
|
||||
@ -199,14 +185,12 @@ void Display_brush_mono_simple(word x_pos, word y_pos,
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=brush_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH-width;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
|
||||
void Clear_brush_simple(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width)
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src)
|
||||
int y;
|
||||
(void)x_offset; // unused
|
||||
@ -222,7 +206,6 @@ void Clear_brush_simple(word x_pos,word y_pos,word x_offset,word y_offset,word w
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=image_width;
|
||||
//dest+=VIDEO_LINE_WIDTH;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
@ -273,8 +256,6 @@ void Remap_screen_simple(word x_pos,word y_pos,word width,word height,byte * con
|
||||
*dest = conversion_table[*dest];
|
||||
dest ++;
|
||||
}
|
||||
|
||||
//dest = dest + VIDEO_LINE_WIDTH - width;
|
||||
}
|
||||
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
@ -285,7 +266,6 @@ void Display_line_on_screen_simple(word x_pos,word y_pos,word width,byte * line)
|
||||
{
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos, y_pos);
|
||||
memcpy(dest, line, width);
|
||||
//memcpy(Screen_pixels+x_pos+y_pos*VIDEO_LINE_WIDTH,line,width);
|
||||
}
|
||||
|
||||
void Display_transparent_mono_line_on_screen_simple(
|
||||
@ -294,7 +274,6 @@ void Display_transparent_mono_line_on_screen_simple(
|
||||
// Affiche une ligne à l'écran avec une couleur + transparence.
|
||||
// Utilisé par les brosses en mode zoom
|
||||
{
|
||||
//byte* dest = Screen_pixels+ y_pos * VIDEO_LINE_WIDTH + x_pos;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos, y_pos);
|
||||
int x;
|
||||
// Pour chaque pixel
|
||||
@ -358,7 +337,6 @@ void Display_part_of_screen_scaled_simple(
|
||||
void Display_transparent_line_on_screen_simple(word x_pos,word y_pos,word width,byte* line,byte transp_color)
|
||||
{
|
||||
byte* src = line;
|
||||
//byte* dest = Screen_pixels + y_pos * VIDEO_LINE_WIDTH + x_pos;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos, y_pos);
|
||||
|
||||
word x;
|
||||
|
||||
31
src/pxtall.c
31
src/pxtall.c
@ -37,8 +37,6 @@
|
||||
void Pixel_tall (word x,word y,byte color)
|
||||
/* Affiche un pixel de la color aux coords x;y à l'écran */
|
||||
{
|
||||
//*(Screen_pixels + x + y*ZOOMY*VIDEO_LINE_WIDTH)=color;
|
||||
//*(Screen_pixels + x + (y*ZOOMY+1)*VIDEO_LINE_WIDTH)=color;
|
||||
Set_Screen_pixel(x * ZOOMX, y * ZOOMY, color);
|
||||
Set_Screen_pixel(x * ZOOMX, y * ZOOMY + 1, color);
|
||||
}
|
||||
@ -46,28 +44,18 @@ void Pixel_tall (word x,word y,byte color)
|
||||
byte Read_pixel_tall (word x,word y)
|
||||
/* On retourne la couleur du pixel aux coords données */
|
||||
{
|
||||
//return *( Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x );
|
||||
return Get_Screen_pixel(x * ZOOMX, y * ZOOMY);
|
||||
}
|
||||
|
||||
void Block_tall (word start_x,word start_y,word width,word height,byte color)
|
||||
/* On affiche un rectangle de la couleur donnée */
|
||||
{
|
||||
#if 0
|
||||
SDL_Rect rectangle;
|
||||
rectangle.x=start_x;
|
||||
rectangle.y=start_y*ZOOMY;
|
||||
rectangle.w=width;
|
||||
rectangle.h=height*ZOOMY;
|
||||
SDL_FillRect(Screen_SDL,&rectangle,color);
|
||||
#endif
|
||||
Screen_FillRect(start_x * ZOOMX, start_y * ZOOMY, width * ZOOMX, height * ZOOMY, color);
|
||||
}
|
||||
|
||||
void Display_part_of_screen_tall (word width,word height,word image_width)
|
||||
/* Afficher une partie de l'image telle quelle sur l'écran */
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src)
|
||||
int y;
|
||||
|
||||
@ -75,15 +63,11 @@ void Display_part_of_screen_tall (word width,word height,word image_width)
|
||||
// Pour chaque ligne
|
||||
{
|
||||
// On fait une copie de la ligne
|
||||
//memcpy(dest,src,width);
|
||||
memcpy(Get_Screen_pixel_ptr(0, y * ZOOMY), src, width);
|
||||
//dest+=VIDEO_LINE_WIDTH;
|
||||
//memcpy(dest,src,width);
|
||||
memcpy(Get_Screen_pixel_ptr(0, y * ZOOMY + 1), src, width);
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=image_width;
|
||||
//dest+=VIDEO_LINE_WIDTH;
|
||||
}
|
||||
//Update_rect(0,0,width,height);
|
||||
}
|
||||
@ -128,7 +112,6 @@ void Pixel_preview_magnifier_tall (word x,word y,byte color)
|
||||
void Horizontal_XOR_line_tall(word x_pos,word y_pos,word width)
|
||||
{
|
||||
//On calcule la valeur initiale de dest:
|
||||
//byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos+Screen_pixels;
|
||||
byte *dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY);
|
||||
|
||||
int x;
|
||||
@ -136,7 +119,6 @@ void Horizontal_XOR_line_tall(word x_pos,word y_pos,word width)
|
||||
for (x=0;x<width;x++)
|
||||
*(dest+x)=xor_lut[*(dest+x)];
|
||||
|
||||
//dest=(y_pos*ZOOMY+1)*VIDEO_LINE_WIDTH+x_pos+Screen_pixels;
|
||||
dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY + 1);
|
||||
for (x=0;x<width;x++)
|
||||
*(dest+x)=xor_lut[*(dest+x)];
|
||||
@ -148,9 +130,7 @@ void Vertical_XOR_line_tall(word x_pos,word y_pos,word height)
|
||||
byte color;
|
||||
for (i=y_pos*ZOOMY;i<(y_pos+height)*ZOOMY;i++)
|
||||
{
|
||||
//color=*(Screen_pixels+x_pos+i*VIDEO_LINE_WIDTH);
|
||||
color = Get_Screen_pixel(x_pos, i);
|
||||
//*(Screen_pixels+x_pos+i*VIDEO_LINE_WIDTH)=xor_lut[color];
|
||||
Set_Screen_pixel(x_pos, i, xor_lut[color]);
|
||||
}
|
||||
}
|
||||
@ -175,7 +155,6 @@ void Display_brush_color_tall(word x_pos,word y_pos,word x_offset,word y_offset,
|
||||
if(*src != transp_color)
|
||||
{
|
||||
*dest = *src;
|
||||
//*(dest+VIDEO_LINE_WIDTH) = *src;
|
||||
*dest2 = *src;
|
||||
}
|
||||
|
||||
@ -211,7 +190,6 @@ void Display_brush_mono_tall(word x_pos, word y_pos,
|
||||
if (*src!=transp_color)
|
||||
{
|
||||
*dest=color;
|
||||
//*(dest+VIDEO_LINE_WIDTH)=color;
|
||||
*dest2 = color;
|
||||
}
|
||||
|
||||
@ -223,14 +201,12 @@ void Display_brush_mono_tall(word x_pos, word y_pos,
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=brush_width-width;
|
||||
//dest+=ZOOMY*VIDEO_LINE_WIDTH-width;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
|
||||
void Clear_brush_tall(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width)
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src)
|
||||
int y;
|
||||
(void)x_offset; // unused
|
||||
@ -248,7 +224,6 @@ void Clear_brush_tall(word x_pos,word y_pos,word x_offset,word y_offset,word wid
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=image_width;
|
||||
//dest+=VIDEO_LINE_WIDTH;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
@ -301,8 +276,6 @@ void Remap_screen_tall(word x_pos,word y_pos,word width,word height,byte * conve
|
||||
*dest = conversion_table[*dest];
|
||||
dest ++;
|
||||
}
|
||||
|
||||
//dest = dest + VIDEO_LINE_WIDTH - width;
|
||||
}
|
||||
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
@ -311,15 +284,12 @@ void Remap_screen_tall(word x_pos,word y_pos,word width,word height,byte * conve
|
||||
void Display_line_on_screen_tall(word x_pos,word y_pos,word width,byte * line)
|
||||
/* On affiche toute une ligne de pixels. Utilisé pour les textes. */
|
||||
{
|
||||
//memcpy(Screen_pixels+x_pos+y_pos*ZOOMY*VIDEO_LINE_WIDTH,line,width);
|
||||
//memcpy(Screen_pixels+x_pos+(y_pos*ZOOMY+1)*VIDEO_LINE_WIDTH,line,width);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY), line, width);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY + 1), line, width);
|
||||
}
|
||||
|
||||
void Read_line_screen_tall(word x_pos,word y_pos,word width,byte * line)
|
||||
{
|
||||
//memcpy(line,VIDEO_LINE_WIDTH*ZOOMY*y_pos + x_pos + Screen_pixels,width);
|
||||
memcpy(line, Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY), width);
|
||||
}
|
||||
|
||||
@ -385,7 +355,6 @@ void Display_brush_color_zoom_tall(word x_pos,word y_pos,
|
||||
for(bx=Main.magnifier_factor;bx>0;bx--)
|
||||
{
|
||||
Display_transparent_line_on_screen_simple(x_pos,y*ZOOMY,width*Main.magnifier_factor,buffer,transp_color);
|
||||
//memcpy(Screen_pixels + (y*ZOOMY +1) * VIDEO_LINE_WIDTH + x_pos, Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x_pos, width*Main.magnifier_factor);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos, y * ZOOMY + 1), Get_Screen_pixel_ptr(x_pos, y * ZOOMY), width*Main.magnifier_factor);
|
||||
y++;
|
||||
if(y==end_y_pos)
|
||||
|
||||
@ -36,16 +36,6 @@
|
||||
void Pixel_tall2 (word x,word y,byte color)
|
||||
/* Affiche un pixel de la color aux coords x;y à l'écran */
|
||||
{
|
||||
#if 0
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+2) * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+2) * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+3) * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+3) * VIDEO_LINE_WIDTH + 1)=color;
|
||||
#endif
|
||||
Set_Screen_pixel(x * ZOOMX, y * ZOOMY, color);
|
||||
Set_Screen_pixel(x * ZOOMX + 1, y * ZOOMY, color);
|
||||
Set_Screen_pixel(x * ZOOMX, y * ZOOMY + 1, color);
|
||||
@ -59,28 +49,18 @@ void Pixel_tall2 (word x,word y,byte color)
|
||||
byte Read_pixel_tall2 (word x,word y)
|
||||
/* On retourne la couleur du pixel aux coords données */
|
||||
{
|
||||
//return *( Screen_pixels + y * ZOOMY * VIDEO_LINE_WIDTH + x * ZOOMX);
|
||||
return Get_Screen_pixel(x * ZOOMX, y * ZOOMY);
|
||||
}
|
||||
|
||||
void Block_tall2 (word start_x,word start_y,word width,word height,byte color)
|
||||
/* On affiche un rectangle de la couleur donnée */
|
||||
{
|
||||
#if 0
|
||||
SDL_Rect rectangle;
|
||||
rectangle.x=start_x*ZOOMX;
|
||||
rectangle.y=start_y*ZOOMY;
|
||||
rectangle.w=width*ZOOMX;
|
||||
rectangle.h=height*ZOOMY;
|
||||
SDL_FillRect(Screen_SDL,&rectangle,color);
|
||||
#endif
|
||||
Screen_FillRect(start_x * ZOOMX, start_y * ZOOMY, width * ZOOMX, height * ZOOMY, color);
|
||||
}
|
||||
|
||||
void Display_part_of_screen_tall2 (word width,word height,word image_width)
|
||||
/* Afficher une partie de l'image telle quelle sur l'écran */
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src)
|
||||
word y;
|
||||
int dy;
|
||||
@ -97,18 +77,14 @@ void Display_part_of_screen_tall2 (word width,word height,word image_width)
|
||||
dest+=ZOOMX;
|
||||
}
|
||||
// On double la ligne qu'on vient de copier
|
||||
//memcpy(dest-width*ZOOMX+VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(0, y * ZOOMY + 1), Get_Screen_pixel_ptr(0, y * ZOOMY), width * ZOOMX);
|
||||
// On la triple
|
||||
//memcpy(dest-width*ZOOMX+2*VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(0, y * ZOOMY + 2), Get_Screen_pixel_ptr(0, y * ZOOMY), width * ZOOMX);
|
||||
// On la quadruple
|
||||
//memcpy(dest-width*ZOOMX+3*VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(0, y * ZOOMY + 3), Get_Screen_pixel_ptr(0, y * ZOOMY), width * ZOOMX);
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=image_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX;
|
||||
}
|
||||
//Update_rect(0,0,width,height);
|
||||
}
|
||||
@ -153,13 +129,11 @@ void Pixel_preview_magnifier_tall2 (word x,word y,byte color)
|
||||
void Horizontal_XOR_line_tall2(word x_pos,word y_pos,word width)
|
||||
{
|
||||
//On calcule la valeur initiale de dest:
|
||||
//byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels;
|
||||
|
||||
int x;
|
||||
|
||||
for (x=0;x<width*ZOOMX;x+=ZOOMX)
|
||||
{
|
||||
//*(dest+x+3*VIDEO_LINE_WIDTH+1)=*(dest+x+3*VIDEO_LINE_WIDTH)=*(dest+x+2*VIDEO_LINE_WIDTH+1)=*(dest+x+2*VIDEO_LINE_WIDTH)=*(dest+x+VIDEO_LINE_WIDTH+1)=*(dest+x+VIDEO_LINE_WIDTH)=*(dest+x+1)=*(dest+x)=xor_lut[*(dest+x)];
|
||||
byte color = xor_lut[Get_Screen_pixel(x_pos * ZOOMX + x, y_pos * ZOOMY)];
|
||||
Set_Screen_pixel(x_pos * ZOOMX + x, y_pos * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + x + 1, y_pos * ZOOMY, color);
|
||||
@ -175,11 +149,8 @@ void Horizontal_XOR_line_tall2(word x_pos,word y_pos,word width)
|
||||
void Vertical_XOR_line_tall2(word x_pos,word y_pos,word height)
|
||||
{
|
||||
int i;
|
||||
//byte *dest=Screen_pixels+x_pos*ZOOMX+y_pos*VIDEO_LINE_WIDTH*ZOOMY;
|
||||
for (i=0; i<height; i++)
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+1)=*(dest)=xor_lut[*(dest)];
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY;
|
||||
byte color = xor_lut[Get_Screen_pixel(x_pos * ZOOMX, (y_pos + i) * ZOOMY)];
|
||||
Set_Screen_pixel(x_pos * ZOOMX, (y_pos + i) * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + 1, (y_pos + i) * ZOOMY, color);
|
||||
@ -213,7 +184,6 @@ void Display_brush_color_tall2(word x_pos,word y_pos,word x_offset,word y_offset
|
||||
// On vérifie que ce n'est pas la transparence
|
||||
if(*src != transp_color)
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+1) = *(dest+3*VIDEO_LINE_WIDTH) = *(dest+2*VIDEO_LINE_WIDTH+1) = *(dest+2*VIDEO_LINE_WIDTH) = *(dest+VIDEO_LINE_WIDTH+1) = *(dest+VIDEO_LINE_WIDTH) = *(dest+1) = *dest = *src;
|
||||
*(dest3+1)=*(dest3)=*(dest2+1)=*(dest2)=*(dest1+1)=*(dest1)=*(dest+1)=*(dest)=*src;
|
||||
}
|
||||
|
||||
@ -252,7 +222,6 @@ void Display_brush_mono_tall2(word x_pos, word y_pos,
|
||||
//Pour chaque pixel
|
||||
{
|
||||
if (*src!=transp_color)
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+1)=*(dest)=color;
|
||||
*(dest3+1)=*(dest3)=*(dest2+1)=*(dest2)=*(dest1+1)=*(dest1)=*(dest+1)=*(dest)=color;
|
||||
|
||||
// On passe au pixel suivant
|
||||
@ -265,14 +234,12 @@ void Display_brush_mono_tall2(word x_pos, word y_pos,
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=brush_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
|
||||
void Clear_brush_tall2(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width)
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src)
|
||||
int y;
|
||||
int x;
|
||||
@ -290,7 +257,6 @@ void Clear_brush_tall2(word x_pos,word y_pos,word x_offset,word y_offset,word wi
|
||||
for(x=width;x!=0;x--)
|
||||
//Pour chaque pixel
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+1)=*(dest)=*src;
|
||||
*(dest3+1)=*(dest3)=*(dest2+1)=*(dest2)=*(dest1+1)=*(dest1)=*(dest+1)=*(dest)=*src;
|
||||
|
||||
// On passe au pixel suivant
|
||||
@ -303,7 +269,6 @@ void Clear_brush_tall2(word x_pos,word y_pos,word x_offset,word y_offset,word wi
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=image_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
@ -330,7 +295,6 @@ void Display_brush_tall2(byte * brush, word x_pos,word y_pos,word x_offset,word
|
||||
// On vérifie que ce n'est pas la transparence
|
||||
if(*src != transp_color)
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+1)=*(dest)=*src;
|
||||
*(dest3+1)=*(dest3)=*(dest2+1)=*(dest2)=*(dest1+1)=*(dest1)=*(dest+1)=*(dest)=*src;
|
||||
}
|
||||
|
||||
@ -361,7 +325,6 @@ void Remap_screen_tall2(word x_pos,word y_pos,word width,word height,byte * conv
|
||||
// Pour chaque pixel
|
||||
for(x=width;x>0;x--)
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+1)=*(dest)=
|
||||
*(dest3+1)=*(dest3)=*(dest2+1)=*(dest2)=*(dest1+1)=*(dest1)=*(dest+1)=*(dest)=
|
||||
conversion_table[*dest];
|
||||
dest +=ZOOMX;
|
||||
@ -380,10 +343,6 @@ void Display_line_on_screen_fast_tall2(word x_pos,word y_pos,word width,byte * l
|
||||
/* On affiche toute une ligne de pixels telle quelle. */
|
||||
/* Utilisée si le buffer contient déja des pixel doublés. */
|
||||
{
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+1)*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+2)*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+3)*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(+x_pos*ZOOMX, y_pos*ZOOMY), line, width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(+x_pos*ZOOMX, y_pos*ZOOMY+1), line, width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(+x_pos*ZOOMX, y_pos*ZOOMY+2), line, width*ZOOMX);
|
||||
@ -395,14 +354,12 @@ void Display_line_on_screen_tall2(word x_pos,word y_pos,word width,byte * line)
|
||||
{
|
||||
int x;
|
||||
//byte *dest;
|
||||
//dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH;
|
||||
byte *dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY);
|
||||
byte *dest1 = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY + 1);
|
||||
byte *dest2 = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY + 2);
|
||||
byte *dest3 = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY + 3);
|
||||
for(x=width;x>0;x--)
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+1)=*(dest)=*line;
|
||||
*(dest3+1)=*(dest3)=*(dest2+1)=*(dest2)=*(dest1+1)=*(dest1)=*(dest+1)=*(dest)=*line;
|
||||
dest+=ZOOMX;
|
||||
dest1+=ZOOMX;
|
||||
@ -417,7 +374,6 @@ void Display_transparent_mono_line_on_screen_tall2(
|
||||
// Affiche une ligne à l'écran avec une couleur + transparence.
|
||||
// Utilisé par les brosses en mode zoom
|
||||
{
|
||||
//byte* dest = Screen_pixels+ y_pos*VIDEO_LINE_WIDTH + x_pos*ZOOMX;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos*ZOOMX, y_pos);
|
||||
int x;
|
||||
// Pour chaque pixel
|
||||
@ -434,7 +390,6 @@ void Display_transparent_mono_line_on_screen_tall2(
|
||||
|
||||
void Read_line_screen_tall2(word x_pos,word y_pos,word width,byte * line)
|
||||
{
|
||||
//memcpy(line,VIDEO_LINE_WIDTH*ZOOMY * y_pos + x_pos * ZOOMX + Screen_pixels,width*ZOOMX);
|
||||
memcpy(line, Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY), width*ZOOMX);
|
||||
}
|
||||
|
||||
@ -500,7 +455,6 @@ void Display_brush_color_zoom_tall2(word x_pos,word y_pos,
|
||||
for(bx=Main.magnifier_factor;bx>0;bx--)
|
||||
{
|
||||
byte* line_src = buffer;
|
||||
//byte* dest = Screen_pixels + y*ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY);
|
||||
word x;
|
||||
// Pour chaque pixel de la ligne
|
||||
@ -514,13 +468,10 @@ void Display_brush_color_zoom_tall2(word x_pos,word y_pos,
|
||||
dest+=ZOOMX;
|
||||
}
|
||||
// Double the line
|
||||
//memcpy(Screen_pixels + (y*ZOOMY+1)*VIDEO_LINE_WIDTH + x_pos*ZOOMX, Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x_pos*ZOOMX, width*ZOOMX*Main.magnifier_factor);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY + 1), Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY), width*ZOOMX*Main.magnifier_factor);
|
||||
// Triple the line
|
||||
//memcpy(Screen_pixels + (y*ZOOMY+2)*VIDEO_LINE_WIDTH + x_pos*ZOOMX, Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x_pos*ZOOMX, width*ZOOMX*Main.magnifier_factor);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY + 2), Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY), width*ZOOMX*Main.magnifier_factor);
|
||||
// Quadruple it
|
||||
//memcpy(Screen_pixels + (y*ZOOMY+3)*VIDEO_LINE_WIDTH + x_pos*ZOOMX, Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x_pos*ZOOMX, width*ZOOMX*Main.magnifier_factor);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY + 3), Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY), width*ZOOMX*Main.magnifier_factor);
|
||||
y++;
|
||||
if(y==end_y_pos)
|
||||
|
||||
@ -36,20 +36,6 @@
|
||||
void Pixel_tall3 (word x,word y,byte color)
|
||||
/* Affiche un pixel de la color aux coords x;y à l'écran */
|
||||
{
|
||||
#if 0
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 2)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH + 2)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+2) * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+2) * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+2) * VIDEO_LINE_WIDTH + 2)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+3) * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+3) * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+3) * VIDEO_LINE_WIDTH + 2)=color;
|
||||
#endif
|
||||
Set_Screen_pixel(x * ZOOMX, y * ZOOMY, color);
|
||||
Set_Screen_pixel(x * ZOOMX + 1, y * ZOOMY, color);
|
||||
Set_Screen_pixel(x * ZOOMX + 2, y * ZOOMY, color);
|
||||
@ -67,28 +53,18 @@ void Pixel_tall3 (word x,word y,byte color)
|
||||
byte Read_pixel_tall3 (word x,word y)
|
||||
/* On retourne la couleur du pixel aux coords données */
|
||||
{
|
||||
//return *( Screen_pixels + y * ZOOMY * VIDEO_LINE_WIDTH + x * ZOOMX);
|
||||
return Get_Screen_pixel(x * ZOOMX, y * ZOOMY);
|
||||
}
|
||||
|
||||
void Block_tall3 (word start_x,word start_y,word width,word height,byte color)
|
||||
/* On affiche un rectangle de la couleur donnée */
|
||||
{
|
||||
#if 0
|
||||
SDL_Rect rectangle;
|
||||
rectangle.x=start_x*ZOOMX;
|
||||
rectangle.y=start_y*ZOOMY;
|
||||
rectangle.w=width*ZOOMX;
|
||||
rectangle.h=height*ZOOMY;
|
||||
SDL_FillRect(Screen_SDL,&rectangle,color);
|
||||
#endif
|
||||
Screen_FillRect(start_x * ZOOMX, start_y * ZOOMY, width * ZOOMX, height * ZOOMY, color);
|
||||
}
|
||||
|
||||
void Display_part_of_screen_tall3 (word width,word height,word image_width)
|
||||
/* Afficher une partie de l'image telle quelle sur l'écran */
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src)
|
||||
int y;
|
||||
int dy;
|
||||
@ -105,18 +81,14 @@ void Display_part_of_screen_tall3 (word width,word height,word image_width)
|
||||
dest+=ZOOMX;
|
||||
}
|
||||
// On double la ligne qu'on vient de copier
|
||||
//memcpy(dest-width*ZOOMX+VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(0, y * ZOOMY + 1), Get_Screen_pixel_ptr(0, y * ZOOMY), width * ZOOMX);
|
||||
// On la triple
|
||||
//memcpy(dest-width*ZOOMX+2*VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(0, y * ZOOMY + 2), Get_Screen_pixel_ptr(0, y * ZOOMY), width * ZOOMX);
|
||||
// On la quadruple
|
||||
//memcpy(dest-width*ZOOMX+3*VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(0, y * ZOOMY + 3), Get_Screen_pixel_ptr(0, y * ZOOMY), width * ZOOMX);
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=image_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX;
|
||||
}
|
||||
//Update_rect(0,0,width,height);
|
||||
}
|
||||
@ -167,8 +139,7 @@ void Horizontal_XOR_line_tall3(word x_pos,word y_pos,word width)
|
||||
|
||||
for (x=0;x<width*ZOOMX;x+=ZOOMX)
|
||||
{
|
||||
//*(dest+x+3*VIDEO_LINE_WIDTH+2)=*(dest+x+3*VIDEO_LINE_WIDTH+1)=*(dest+x+3*VIDEO_LINE_WIDTH)=*(dest+x+2*VIDEO_LINE_WIDTH+2)=*(dest+x+2*VIDEO_LINE_WIDTH+1)=*(dest+x+2*VIDEO_LINE_WIDTH)=*(dest+x+VIDEO_LINE_WIDTH+2)=*(dest+x+VIDEO_LINE_WIDTH+1)=*(dest+x+VIDEO_LINE_WIDTH)=*(dest+x+1)=*(dest+x)=xor_lut[*(dest+x)];
|
||||
byte color = xor_lut[Get_Screen_pixel(x_pos * ZOOMX + x, y_pos * ZOOMY)];
|
||||
byte color = xor_lut[Get_Screen_pixel(x_pos * ZOOMX + x, y_pos * ZOOMY)];
|
||||
Set_Screen_pixel(x_pos * ZOOMX + x, y_pos * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + x + 1, y_pos * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + x + 2, y_pos * ZOOMY, color);
|
||||
@ -187,11 +158,8 @@ void Horizontal_XOR_line_tall3(word x_pos,word y_pos,word width)
|
||||
void Vertical_XOR_line_tall3(word x_pos,word y_pos,word height)
|
||||
{
|
||||
int i;
|
||||
//byte *dest=Screen_pixels+x_pos*ZOOMX+y_pos*VIDEO_LINE_WIDTH*ZOOMY;
|
||||
for (i=0; i<height; i++)
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+2)=*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+2)=*(dest+1)=*(dest)=xor_lut[*(dest)];
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY;
|
||||
byte color = xor_lut[Get_Screen_pixel(x_pos * ZOOMX, (y_pos + i) * ZOOMY)];
|
||||
Set_Screen_pixel(x_pos * ZOOMX, (y_pos + i) * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + 1, (y_pos + i) * ZOOMY, color);
|
||||
@ -226,7 +194,6 @@ void Display_brush_color_tall3(word x_pos,word y_pos,word x_offset,word y_offset
|
||||
// On vérifie que ce n'est pas la transparence
|
||||
if(*src != transp_color)
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+2) =*(dest+3*VIDEO_LINE_WIDTH+1) = *(dest+3*VIDEO_LINE_WIDTH) = *(dest+2*VIDEO_LINE_WIDTH+2) =*(dest+2*VIDEO_LINE_WIDTH+1) = *(dest+2*VIDEO_LINE_WIDTH) = *(dest+VIDEO_LINE_WIDTH+2) =*(dest+VIDEO_LINE_WIDTH+1) = *(dest+VIDEO_LINE_WIDTH) = *(dest+2) =*(dest+1) = *dest = *src;
|
||||
*(dest3+2) =*(dest3+1) = *(dest3) = *(dest2+2) =*(dest2+1) = *(dest2) = *(dest1+2) =*(dest1+1) = *(dest1) = *(dest+2) =*(dest+1) = *dest = *src;
|
||||
}
|
||||
|
||||
@ -265,7 +232,6 @@ void Display_brush_mono_tall3(word x_pos, word y_pos,
|
||||
//Pour chaque pixel
|
||||
{
|
||||
if (*src!=transp_color)
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+2)=*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+2)=*(dest+1)=*(dest)=color;
|
||||
*(dest3+2) =*(dest3+1) = *(dest3) = *(dest2+2) =*(dest2+1) = *(dest2) = *(dest1+2) =*(dest1+1) = *(dest1) = *(dest+2) =*(dest+1) = *dest = color;
|
||||
|
||||
// On passe au pixel suivant
|
||||
@ -278,14 +244,12 @@ void Display_brush_mono_tall3(word x_pos, word y_pos,
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=brush_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
|
||||
void Clear_brush_tall3(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width)
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src)
|
||||
int y;
|
||||
int x;
|
||||
@ -303,7 +267,6 @@ void Clear_brush_tall3(word x_pos,word y_pos,word x_offset,word y_offset,word wi
|
||||
for(x=width;x!=0;x--)
|
||||
//Pour chaque pixel
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+2)=*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+2)=*(dest+1)=*(dest)=*src;
|
||||
*(dest3+2) =*(dest3+1) = *(dest3) = *(dest2+2) =*(dest2+1) = *(dest2) = *(dest1+2) =*(dest1+1) = *(dest1) = *(dest+2) =*(dest+1) = *dest = *src;
|
||||
|
||||
// On passe au pixel suivant
|
||||
@ -316,7 +279,6 @@ void Clear_brush_tall3(word x_pos,word y_pos,word x_offset,word y_offset,word wi
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=image_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
@ -343,7 +305,6 @@ void Display_brush_tall3(byte * brush, word x_pos,word y_pos,word x_offset,word
|
||||
// On vérifie que ce n'est pas la transparence
|
||||
if(*src != transp_color)
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+2)=*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+2)=*(dest+1)=*(dest)=*src;
|
||||
*(dest3+2) =*(dest3+1) = *(dest3) = *(dest2+2) =*(dest2+1) = *(dest2) = *(dest1+2) =*(dest1+1) = *(dest1) = *(dest+2) =*(dest+1) = *dest = *src;
|
||||
}
|
||||
|
||||
@ -374,16 +335,13 @@ void Remap_screen_tall3(word x_pos,word y_pos,word width,word height,byte * conv
|
||||
// Pour chaque pixel
|
||||
for(x=width;x>0;x--)
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+2)=*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+2)=*(dest+1)=*(dest)=
|
||||
*(dest3+2) =*(dest3+1) = *(dest3) = *(dest2+2) =*(dest2+1) = *(dest2) = *(dest1+2) =*(dest1+1) = *(dest1) = *(dest+2) =*(dest+1) = *dest =
|
||||
*(dest3+2) =*(dest3+1) = *(dest3) = *(dest2+2) =*(dest2+1) = *(dest2) = *(dest1+2) =*(dest1+1) = *(dest1) = *(dest+2) =*(dest+1) = *dest =
|
||||
conversion_table[*dest];
|
||||
dest +=ZOOMX;
|
||||
dest1+=ZOOMX;
|
||||
dest2+=ZOOMX;
|
||||
dest3+=ZOOMX;
|
||||
}
|
||||
|
||||
//dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX;
|
||||
}
|
||||
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
@ -393,10 +351,6 @@ void Display_line_on_screen_fast_tall3(word x_pos,word y_pos,word width,byte * l
|
||||
/* On affiche toute une ligne de pixels telle quelle. */
|
||||
/* Utilisée si le buffer contient déja des pixel doublés. */
|
||||
{
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+1)*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+2)*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+3)*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(+x_pos*ZOOMX, y_pos*ZOOMY), line, width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(+x_pos*ZOOMX, y_pos*ZOOMY+1), line, width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(+x_pos*ZOOMX, y_pos*ZOOMY+2), line, width*ZOOMX);
|
||||
@ -407,15 +361,12 @@ void Display_line_on_screen_tall3(word x_pos,word y_pos,word width,byte * line)
|
||||
/* On affiche une ligne de pixels en les doublant. */
|
||||
{
|
||||
int x;
|
||||
//byte *dest;
|
||||
//dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY);
|
||||
byte* dest1 = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY + 1);
|
||||
byte* dest2 = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY + 2);
|
||||
byte* dest3 = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY + 3);
|
||||
for(x=width;x>0;x--)
|
||||
{
|
||||
//*(dest+3*VIDEO_LINE_WIDTH+2)=*(dest+3*VIDEO_LINE_WIDTH+1)=*(dest+3*VIDEO_LINE_WIDTH)=*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+2)=*(dest+1)=*(dest)=*line;
|
||||
*(dest3+2) =*(dest3+1) = *(dest3) = *(dest2+2) =*(dest2+1) = *(dest2) = *(dest1+2) =*(dest1+1) = *(dest1) = *(dest+2) =*(dest+1) = *dest = *line;
|
||||
dest+=ZOOMX;
|
||||
line++;
|
||||
@ -427,7 +378,6 @@ void Display_transparent_mono_line_on_screen_tall3(
|
||||
// Affiche une ligne à l'écran avec une couleur + transparence.
|
||||
// Utilisé par les brosses en mode zoom
|
||||
{
|
||||
//byte* dest = Screen_pixels+ y_pos*VIDEO_LINE_WIDTH + x_pos*ZOOMX;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos);
|
||||
int x;
|
||||
// Pour chaque pixel
|
||||
@ -444,7 +394,6 @@ void Display_transparent_mono_line_on_screen_tall3(
|
||||
|
||||
void Read_line_screen_tall3(word x_pos,word y_pos,word width,byte * line)
|
||||
{
|
||||
//memcpy(line,VIDEO_LINE_WIDTH*ZOOMY * y_pos + x_pos * ZOOMX + Screen_pixels,width*ZOOMX);
|
||||
memcpy(line, Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY), width*ZOOMX);
|
||||
}
|
||||
|
||||
@ -524,13 +473,10 @@ void Display_brush_color_zoom_tall3(word x_pos,word y_pos,
|
||||
dest+=ZOOMX;
|
||||
}
|
||||
// Double the line
|
||||
//memcpy(Screen_pixels + (y*ZOOMY+1)*VIDEO_LINE_WIDTH + x_pos*ZOOMX, Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x_pos*ZOOMX, width*ZOOMX*Main.magnifier_factor);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY + 1), Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY), width*ZOOMX*Main.magnifier_factor);
|
||||
// Triple the line
|
||||
//memcpy(Screen_pixels + (y*ZOOMY+2)*VIDEO_LINE_WIDTH + x_pos*ZOOMX, Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x_pos*ZOOMX, width*ZOOMX*Main.magnifier_factor);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY + 2), Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY), width*ZOOMX*Main.magnifier_factor);
|
||||
// Quadruple it
|
||||
//memcpy(Screen_pixels + (y*ZOOMY+3)*VIDEO_LINE_WIDTH + x_pos*ZOOMX, Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x_pos*ZOOMX, width*ZOOMX*Main.magnifier_factor);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY + 3), Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY), width*ZOOMX*Main.magnifier_factor);
|
||||
y++;
|
||||
if(y==end_y_pos)
|
||||
@ -633,5 +579,3 @@ void Clear_brush_scaled_tall3(word x_pos,word y_pos,word x_offset,word y_offset,
|
||||
src+= image_width;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -36,17 +36,6 @@
|
||||
void Pixel_triple (word x,word y,byte color)
|
||||
/* Affiche un pixel de la color aux coords x;y à l'écran */
|
||||
{
|
||||
#if 0
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 2)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH + 2)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+2) * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+2) * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+2) * VIDEO_LINE_WIDTH + 2)=color;
|
||||
#endif
|
||||
Set_Screen_pixel(x * ZOOMX, y * ZOOMY, color);
|
||||
Set_Screen_pixel(x * ZOOMX + 1, y * ZOOMY, color);
|
||||
Set_Screen_pixel(x * ZOOMX + 2, y * ZOOMY, color);
|
||||
@ -61,28 +50,18 @@ void Pixel_triple (word x,word y,byte color)
|
||||
byte Read_pixel_triple (word x,word y)
|
||||
/* On retourne la couleur du pixel aux coords données */
|
||||
{
|
||||
//return *( Screen_pixels + y * ZOOMY * VIDEO_LINE_WIDTH + x * ZOOMX);
|
||||
return Get_Screen_pixel(x * ZOOMX, y * ZOOMY);
|
||||
}
|
||||
|
||||
void Block_triple (word start_x,word start_y,word width,word height,byte color)
|
||||
/* On affiche un rectangle de la couleur donnée */
|
||||
{
|
||||
#if 0
|
||||
SDL_Rect rectangle;
|
||||
rectangle.x=start_x*ZOOMX;
|
||||
rectangle.y=start_y*ZOOMY;
|
||||
rectangle.w=width*ZOOMX;
|
||||
rectangle.h=height*ZOOMY;
|
||||
SDL_FillRect(Screen_SDL,&rectangle,color);
|
||||
#endif
|
||||
Screen_FillRect(start_x * ZOOMX, start_y * ZOOMY, width * ZOOMX, height * ZOOMY, color);
|
||||
}
|
||||
|
||||
void Display_part_of_screen_triple (word width,word height,word image_width)
|
||||
/* Afficher une partie de l'image telle quelle sur l'écran */
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src)
|
||||
int y;
|
||||
int dy;
|
||||
@ -99,15 +78,12 @@ void Display_part_of_screen_triple (word width,word height,word image_width)
|
||||
dest+=ZOOMX;
|
||||
}
|
||||
// On double la ligne qu'on vient de copier
|
||||
//memcpy(dest-width*ZOOMX+VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(0, y * ZOOMY + 1), Get_Screen_pixel_ptr(0, y * ZOOMY), width * ZOOMX);
|
||||
// On la triple
|
||||
//memcpy(dest-width*ZOOMX+2*VIDEO_LINE_WIDTH,dest-width*ZOOMX,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(0, y * ZOOMY + 2), Get_Screen_pixel_ptr(0, y * ZOOMY), width * ZOOMX);
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=image_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX;
|
||||
}
|
||||
//Update_rect(0,0,width,height);
|
||||
}
|
||||
@ -152,14 +128,12 @@ void Pixel_preview_magnifier_triple (word x,word y,byte color)
|
||||
void Horizontal_XOR_line_triple(word x_pos,word y_pos,word width)
|
||||
{
|
||||
//On calcule la valeur initiale de dest:
|
||||
//byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels;
|
||||
|
||||
int x;
|
||||
|
||||
for (x=0;x<width*ZOOMX;x+=ZOOMX)
|
||||
{
|
||||
byte color = xor_lut[Get_Screen_pixel(x_pos * ZOOMX + x, y_pos * ZOOMY)];
|
||||
//*(dest+x+2*VIDEO_LINE_WIDTH+2)=*(dest+x+2*VIDEO_LINE_WIDTH+1)=*(dest+x+2*VIDEO_LINE_WIDTH)=*(dest+x+VIDEO_LINE_WIDTH+2)=*(dest+x+VIDEO_LINE_WIDTH+1)=*(dest+x+VIDEO_LINE_WIDTH)=*(dest+x+2)=*(dest+x+1)=*(dest+x)=xor_lut[*(dest+x)];
|
||||
Set_Screen_pixel(x_pos * ZOOMX + x, y_pos * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + x + 1, y_pos * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + x + 2, y_pos * ZOOMY, color);
|
||||
@ -175,11 +149,8 @@ void Horizontal_XOR_line_triple(word x_pos,word y_pos,word width)
|
||||
void Vertical_XOR_line_triple(word x_pos,word y_pos,word height)
|
||||
{
|
||||
int i;
|
||||
//byte *dest=Screen_pixels+x_pos*ZOOMX+y_pos*VIDEO_LINE_WIDTH*ZOOMY;
|
||||
for (i=0; i<height; i++)
|
||||
{
|
||||
//*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+2)=*(dest+1)=*dest=xor_lut[*dest];
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY;
|
||||
byte color = xor_lut[Get_Screen_pixel(x_pos * ZOOMX, (y_pos + i) * ZOOMY)];
|
||||
Set_Screen_pixel(x_pos * ZOOMX, (y_pos + i) * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + 1, (y_pos + i) * ZOOMY, color);
|
||||
@ -213,7 +184,6 @@ void Display_brush_color_triple(word x_pos,word y_pos,word x_offset,word y_offse
|
||||
// On vérifie que ce n'est pas la transparence
|
||||
if(*src != transp_color)
|
||||
{
|
||||
//*(dest+2*VIDEO_LINE_WIDTH+2) = *(dest+2*VIDEO_LINE_WIDTH+1) = *(dest+2*VIDEO_LINE_WIDTH) = *(dest+VIDEO_LINE_WIDTH+2) = *(dest+VIDEO_LINE_WIDTH+1) = *(dest+VIDEO_LINE_WIDTH) = *(dest+2) = *(dest+1) = *dest = *src;
|
||||
*(dest2+2) = *(dest2+1) = *(dest2) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+2) = *(dest+1) = *dest = *src;
|
||||
}
|
||||
|
||||
@ -250,7 +220,6 @@ void Display_brush_mono_triple(word x_pos, word y_pos,
|
||||
//Pour chaque pixel
|
||||
{
|
||||
if (*src!=transp_color)
|
||||
//*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+2)=*(dest+1)=*dest=color;
|
||||
*(dest2+2) = *(dest2+1) = *(dest2) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+2) = *(dest+1) = *dest = color;
|
||||
|
||||
// On passe au pixel suivant
|
||||
@ -262,14 +231,12 @@ void Display_brush_mono_triple(word x_pos, word y_pos,
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=brush_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
|
||||
void Clear_brush_triple(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width)
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src)
|
||||
int y;
|
||||
int x;
|
||||
@ -286,7 +253,6 @@ void Clear_brush_triple(word x_pos,word y_pos,word x_offset,word y_offset,word w
|
||||
for(x=width;x!=0;x--)
|
||||
//Pour chaque pixel
|
||||
{
|
||||
//*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+2)=*(dest+1)=*dest=*src;
|
||||
*(dest2+2) = *(dest2+1) = *(dest2) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+2) = *(dest+1) = *dest = *src;
|
||||
|
||||
// On passe au pixel suivant
|
||||
@ -298,7 +264,6 @@ void Clear_brush_triple(word x_pos,word y_pos,word x_offset,word y_offset,word w
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=image_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
@ -324,7 +289,6 @@ void Display_brush_triple(byte * brush, word x_pos,word y_pos,word x_offset,word
|
||||
// On vérifie que ce n'est pas la transparence
|
||||
if(*src != transp_color)
|
||||
{
|
||||
//*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+2)=*(dest+1)=*dest=*src;
|
||||
*(dest2+2) = *(dest2+1) = *(dest2) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+2) = *(dest+1) = *dest = *src;
|
||||
}
|
||||
|
||||
@ -352,14 +316,11 @@ void Remap_screen_triple(word x_pos,word y_pos,word width,word height,byte * con
|
||||
// Pour chaque pixel
|
||||
for(x=width;x>0;x--)
|
||||
{
|
||||
//*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+2)=*(dest+1)=*dest=
|
||||
*(dest2+2) = *(dest2+1) = *(dest2) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+2) = *(dest+1) = *dest =
|
||||
conversion_table[*dest];
|
||||
dest +=ZOOMX;
|
||||
dest1+=ZOOMX; dest2+=ZOOMX;
|
||||
}
|
||||
|
||||
//dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX;
|
||||
}
|
||||
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
@ -369,9 +330,6 @@ void Display_line_on_screen_fast_triple(word x_pos,word y_pos,word width,byte *
|
||||
/* On affiche toute une ligne de pixels telle quelle. */
|
||||
/* Utilisée si le buffer contient déja des pixel doublés. */
|
||||
{
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+1)*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+(y_pos*ZOOMY+2)*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(+x_pos*ZOOMX, y_pos*ZOOMY), line, width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(+x_pos*ZOOMX, y_pos*ZOOMY+1), line, width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(+x_pos*ZOOMX, y_pos*ZOOMY+2), line, width*ZOOMX);
|
||||
@ -381,14 +339,11 @@ void Display_line_on_screen_triple(word x_pos,word y_pos,word width,byte * line)
|
||||
/* On affiche une ligne de pixels en les doublant. */
|
||||
{
|
||||
int x;
|
||||
//byte *dest;
|
||||
//dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY);
|
||||
byte* dest1 = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY + 1);
|
||||
byte* dest2 = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY + 2);
|
||||
for(x=width;x>0;x--)
|
||||
{
|
||||
//*(dest+2*VIDEO_LINE_WIDTH+2)=*(dest+2*VIDEO_LINE_WIDTH+1)=*(dest+2*VIDEO_LINE_WIDTH)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+2)=*(dest+1)=*dest=*line;
|
||||
*(dest2+2) = *(dest2+1) = *(dest2) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+2) = *(dest+1) = *dest = *line;
|
||||
dest+=ZOOMX;
|
||||
dest1+=ZOOMX;
|
||||
@ -402,7 +357,6 @@ void Display_transparent_mono_line_on_screen_triple(
|
||||
// Affiche une ligne à l'écran avec une couleur + transparence.
|
||||
// Utilisé par les brosses en mode zoom
|
||||
{
|
||||
//byte* dest = Screen_pixels+ y_pos*VIDEO_LINE_WIDTH + x_pos*ZOOMX;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos*ZOOMX, y_pos);
|
||||
int x;
|
||||
// Pour chaque pixel
|
||||
@ -419,7 +373,6 @@ void Display_transparent_mono_line_on_screen_triple(
|
||||
|
||||
void Read_line_screen_triple(word x_pos,word y_pos,word width,byte * line)
|
||||
{
|
||||
//memcpy(line,VIDEO_LINE_WIDTH*ZOOMY * y_pos + x_pos * ZOOMX + Screen_pixels,width*ZOOMX);
|
||||
memcpy(line, Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY), width*ZOOMX);
|
||||
}
|
||||
|
||||
@ -485,7 +438,6 @@ void Display_brush_color_zoom_triple(word x_pos,word y_pos,
|
||||
for(bx=Main.magnifier_factor;bx>0;bx--)
|
||||
{
|
||||
byte* line_src = buffer;
|
||||
//byte* dest = Screen_pixels + y*ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY);
|
||||
word x;
|
||||
// Pour chaque pixel de la ligne
|
||||
@ -499,10 +451,8 @@ void Display_brush_color_zoom_triple(word x_pos,word y_pos,
|
||||
dest+=ZOOMX;
|
||||
}
|
||||
// Double the line
|
||||
//memcpy(Screen_pixels + (y*ZOOMY+1)*VIDEO_LINE_WIDTH + x_pos*ZOOMX, Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x_pos*ZOOMX, width*ZOOMX*Main.magnifier_factor);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY + 1), Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY), width*ZOOMX*Main.magnifier_factor);
|
||||
// Triple the line
|
||||
//memcpy(Screen_pixels + (y*ZOOMY+2)*VIDEO_LINE_WIDTH + x_pos*ZOOMX, Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x_pos*ZOOMX, width*ZOOMX*Main.magnifier_factor);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY + 2), Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY), width*ZOOMX*Main.magnifier_factor);
|
||||
y++;
|
||||
if(y==end_y_pos)
|
||||
@ -605,5 +555,3 @@ void Clear_brush_scaled_triple(word x_pos,word y_pos,word x_offset,word y_offset
|
||||
src+= image_width;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
28
src/pxwide.c
28
src/pxwide.c
@ -36,8 +36,6 @@
|
||||
void Pixel_wide (word x,word y,byte color)
|
||||
/* Affiche un pixel de la color aux coords x;y à l'écran */
|
||||
{
|
||||
//*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH)=color;
|
||||
//*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 1)=color;
|
||||
Set_Screen_pixel(x * ZOOMX, y * ZOOMY, color);
|
||||
Set_Screen_pixel(x * ZOOMX + 1, y * ZOOMY, color);
|
||||
}
|
||||
@ -45,28 +43,18 @@ void Pixel_wide (word x,word y,byte color)
|
||||
byte Read_pixel_wide (word x,word y)
|
||||
/* On retourne la couleur du pixel aux coords données */
|
||||
{
|
||||
//return *( Screen_pixels + y * ZOOMY * VIDEO_LINE_WIDTH + x * ZOOMX);
|
||||
return Get_Screen_pixel(x * ZOOMX, y * ZOOMY);
|
||||
}
|
||||
|
||||
void Block_wide (word start_x,word start_y,word width,word height,byte color)
|
||||
/* On affiche un rectangle de la couleur donnée */
|
||||
{
|
||||
#if 0
|
||||
SDL_Rect rectangle;
|
||||
rectangle.x=start_x*ZOOMX;
|
||||
rectangle.y=start_y*ZOOMY;
|
||||
rectangle.w=width*ZOOMX;
|
||||
rectangle.h=height*ZOOMY;
|
||||
SDL_FillRect(Screen_SDL,&rectangle,color);
|
||||
#endif
|
||||
Screen_FillRect(start_x * ZOOMX, start_y * ZOOMY, width * ZOOMX, height * ZOOMY, color);
|
||||
}
|
||||
|
||||
void Display_part_of_screen_wide (word width,word height,word image_width)
|
||||
/* Afficher une partie de l'image telle quelle sur l'écran */
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src)
|
||||
int y;
|
||||
int dy;
|
||||
@ -85,7 +73,6 @@ void Display_part_of_screen_wide (word width,word height,word image_width)
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=image_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX;
|
||||
}
|
||||
//Update_rect(0,0,width,height);
|
||||
}
|
||||
@ -130,7 +117,6 @@ void Pixel_preview_magnifier_wide (word x,word y,byte color)
|
||||
void Horizontal_XOR_line_wide(word x_pos,word y_pos,word width)
|
||||
{
|
||||
//On calcule la valeur initiale de dest:
|
||||
//byte* dest=y_pos*ZOOMY*VIDEO_LINE_WIDTH+x_pos*ZOOMX+Screen_pixels;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY);
|
||||
|
||||
int x;
|
||||
@ -143,14 +129,11 @@ void Vertical_XOR_line_wide(word x_pos,word y_pos,word height)
|
||||
{
|
||||
int i;
|
||||
byte color;
|
||||
//byte *dest=Screen_pixels+x_pos*ZOOMX+y_pos*VIDEO_LINE_WIDTH*ZOOMY;
|
||||
for (i = 0; i < height; i++)
|
||||
{
|
||||
color = xor_lut[Get_Screen_pixel(x_pos * ZOOMX, (y_pos + i) * ZOOMY)];
|
||||
Set_Screen_pixel(x_pos * ZOOMX, (y_pos + i) * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + 1, (y_pos + i) * ZOOMY, color);
|
||||
//*dest=*(dest+1)=xor_lut[*dest];
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY;
|
||||
}
|
||||
}
|
||||
|
||||
@ -213,14 +196,12 @@ void Display_brush_mono_wide(word x_pos, word y_pos,
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=brush_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
|
||||
void Clear_brush_wide(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width)
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src)
|
||||
int y;
|
||||
int x;
|
||||
@ -244,7 +225,6 @@ void Clear_brush_wide(word x_pos,word y_pos,word x_offset,word y_offset,word wid
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=image_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
@ -295,8 +275,6 @@ void Remap_screen_wide(word x_pos,word y_pos,word width,word height,byte * conve
|
||||
*(dest+1) = *dest = conversion_table[*dest];
|
||||
dest +=ZOOMX;
|
||||
}
|
||||
|
||||
//dest = dest + VIDEO_LINE_WIDTH*ZOOMY - width*ZOOMX;
|
||||
}
|
||||
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
@ -306,7 +284,6 @@ void Display_line_on_screen_fast_wide(word x_pos,word y_pos,word width,byte * li
|
||||
/* On affiche toute une ligne de pixels telle quelle. */
|
||||
/* Utilisée si le buffer contient déja des pixel doublés. */
|
||||
{
|
||||
//memcpy(Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH,line,width*ZOOMX);
|
||||
memcpy(Get_Screen_pixel_ptr(+x_pos*ZOOMX, y_pos*ZOOMY), line, width*ZOOMX);
|
||||
}
|
||||
|
||||
@ -315,7 +292,6 @@ void Display_line_on_screen_wide(word x_pos,word y_pos,word width,byte * line)
|
||||
{
|
||||
int x;
|
||||
byte *dest;
|
||||
//dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH;
|
||||
dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY);
|
||||
for(x=width;x>0;x--)
|
||||
{
|
||||
@ -330,7 +306,6 @@ void Display_transparent_mono_line_on_screen_wide(
|
||||
// Affiche une ligne à l'écran avec une couleur + transparence.
|
||||
// Utilisé par les brosses en mode zoom
|
||||
{
|
||||
//byte* dest = Screen_pixels+ y_pos*VIDEO_LINE_WIDTH + x_pos*ZOOMX;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos);
|
||||
int x;
|
||||
// Pour chaque pixel
|
||||
@ -347,7 +322,6 @@ void Display_transparent_mono_line_on_screen_wide(
|
||||
|
||||
void Read_line_screen_wide(word x_pos,word y_pos,word width,byte * line)
|
||||
{
|
||||
//memcpy(line,VIDEO_LINE_WIDTH*ZOOMY * y_pos + x_pos * ZOOMX + Screen_pixels,width*ZOOMX);
|
||||
memcpy(line, Get_Screen_pixel_ptr(x_pos * ZOOMX, ZOOMY * y_pos), width*ZOOMX);
|
||||
}
|
||||
|
||||
@ -531,5 +505,3 @@ void Clear_brush_scaled_wide(word x_pos,word y_pos,word x_offset,word y_offset,w
|
||||
src+= image_width;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -36,16 +36,6 @@
|
||||
void Pixel_wide2 (word x,word y,byte color)
|
||||
/* Affiche un pixel de la color aux coords x;y à l'écran */
|
||||
{
|
||||
#if 0
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 2)=color;
|
||||
*(Screen_pixels + x * ZOOMX + y*ZOOMY * VIDEO_LINE_WIDTH + 3)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH + 1)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH + 2)=color;
|
||||
*(Screen_pixels + x * ZOOMX + (y*ZOOMY+1) * VIDEO_LINE_WIDTH + 3)=color;
|
||||
#endif
|
||||
Set_Screen_pixel(x * ZOOMX, y * ZOOMY, color);
|
||||
Set_Screen_pixel(x * ZOOMX + 1, y * ZOOMY, color);
|
||||
Set_Screen_pixel(x * ZOOMX + 2, y * ZOOMY, color);
|
||||
@ -59,28 +49,18 @@ void Pixel_wide2 (word x,word y,byte color)
|
||||
byte Read_pixel_wide2 (word x,word y)
|
||||
/* On retourne la couleur du pixel aux coords données */
|
||||
{
|
||||
//return *( Screen_pixels + y * ZOOMY * VIDEO_LINE_WIDTH + x * ZOOMX);
|
||||
return Get_Screen_pixel(x * ZOOMX, y * ZOOMY);
|
||||
}
|
||||
|
||||
void Block_wide2 (word start_x,word start_y,word width,word height,byte color)
|
||||
/* On affiche un rectangle de la couleur donnée */
|
||||
{
|
||||
#if 0
|
||||
SDL_Rect rectangle;
|
||||
rectangle.x=start_x*ZOOMX;
|
||||
rectangle.y=start_y*ZOOMY;
|
||||
rectangle.w=width*ZOOMX;
|
||||
rectangle.h=height*ZOOMY;
|
||||
SDL_FillRect(Screen_SDL,&rectangle,color);
|
||||
#endif
|
||||
Screen_FillRect(start_x * ZOOMX, start_y * ZOOMY, width * ZOOMX, height * ZOOMY, color);
|
||||
}
|
||||
|
||||
void Display_part_of_screen_wide2 (word width,word height,word image_width)
|
||||
/* Afficher une partie de l'image telle quelle sur l'écran */
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src=Main.offset_Y*image_width+Main.offset_X+Main_screen; //Coords de départ ds la source (src)
|
||||
int y;
|
||||
int dy;
|
||||
@ -151,7 +131,6 @@ void Horizontal_XOR_line_wide2(word x_pos,word y_pos,word width)
|
||||
|
||||
for (x=0;x<width*ZOOMX;x+=ZOOMX) {
|
||||
byte color = xor_lut[Get_Screen_pixel(x_pos * ZOOMX + x, y_pos * ZOOMY)];
|
||||
//*(dest+x+VIDEO_LINE_WIDTH+3)=*(dest+x+VIDEO_LINE_WIDTH+2)=*(dest+x+VIDEO_LINE_WIDTH+1)=*(dest+x+VIDEO_LINE_WIDTH)=*(dest+x+3)=*(dest+x+2)=*(dest+x+1)=*(dest+x)=xor_lut[*(dest+x)];
|
||||
Set_Screen_pixel(x_pos * ZOOMX + x, y_pos * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + x + 1, y_pos * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + x + 2, y_pos * ZOOMY, color);
|
||||
@ -166,11 +145,8 @@ void Horizontal_XOR_line_wide2(word x_pos,word y_pos,word width)
|
||||
void Vertical_XOR_line_wide2(word x_pos,word y_pos,word height)
|
||||
{
|
||||
int i;
|
||||
//byte *dest=Screen_pixels+x_pos*ZOOMX+y_pos*VIDEO_LINE_WIDTH*ZOOMY;
|
||||
for (i = 0; i < height; i++)
|
||||
{
|
||||
//*(dest+VIDEO_LINE_WIDTH+3)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+3)=*(dest+2)=*(dest+1)=*(dest)=xor_lut[*(dest)];
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY;
|
||||
byte color = xor_lut[Get_Screen_pixel(x_pos * ZOOMX, (y_pos + i) * ZOOMY)];
|
||||
Set_Screen_pixel(x_pos * ZOOMX, (y_pos + i) * ZOOMY, color);
|
||||
Set_Screen_pixel(x_pos * ZOOMX + 1, (y_pos + i) * ZOOMY, color);
|
||||
@ -202,7 +178,6 @@ void Display_brush_color_wide2(word x_pos,word y_pos,word x_offset,word y_offset
|
||||
// On vérifie que ce n'est pas la transparence
|
||||
if(*src != transp_color)
|
||||
{
|
||||
//*(dest+VIDEO_LINE_WIDTH+3) = *(dest+VIDEO_LINE_WIDTH+2) = *(dest+VIDEO_LINE_WIDTH+1) = *(dest+VIDEO_LINE_WIDTH) = *(dest+3) = *(dest+2) = *(dest+1) = *dest = *src;
|
||||
*(dest1+3) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+3) = *(dest+2) = *(dest+1) = *dest = *src;
|
||||
}
|
||||
|
||||
@ -238,7 +213,6 @@ void Display_brush_mono_wide2(word x_pos, word y_pos,
|
||||
//Pour chaque pixel
|
||||
{
|
||||
if (*src!=transp_color)
|
||||
//*(dest+VIDEO_LINE_WIDTH+3)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+3)=*(dest+2)=*(dest+1)=*dest=color;
|
||||
*(dest1+3) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+3) = *(dest+2) = *(dest+1) = *dest = color;
|
||||
|
||||
// On passe au pixel suivant
|
||||
@ -249,14 +223,12 @@ void Display_brush_mono_wide2(word x_pos, word y_pos,
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=brush_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
|
||||
void Clear_brush_wide2(word x_pos,word y_pos,word x_offset,word y_offset,word width,word height,byte transp_color,word image_width)
|
||||
{
|
||||
//On va se mettre en 0,0 dans l'écran (dest)
|
||||
byte* src = ( y_pos + Main.offset_Y ) * image_width + x_pos + Main.offset_X + Main_screen; //Coords de départ ds la source (src)
|
||||
int y;
|
||||
int x;
|
||||
@ -273,7 +245,6 @@ void Clear_brush_wide2(word x_pos,word y_pos,word x_offset,word y_offset,word wi
|
||||
for(x=width;x!=0;x--)
|
||||
//Pour chaque pixel
|
||||
{
|
||||
//*(dest+VIDEO_LINE_WIDTH+3)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+3)=*(dest+2)=*(dest+1)=*dest=*src;
|
||||
*(dest1+3) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+3) = *(dest+2) = *(dest+1) = *dest = *src;
|
||||
|
||||
// On passe au pixel suivant
|
||||
@ -284,7 +255,6 @@ void Clear_brush_wide2(word x_pos,word y_pos,word x_offset,word y_offset,word wi
|
||||
|
||||
// On passe à la ligne suivante
|
||||
src+=image_width-width;
|
||||
//dest+=VIDEO_LINE_WIDTH*ZOOMY-width*ZOOMX;
|
||||
}
|
||||
Update_rect(x_pos,y_pos,width,height);
|
||||
}
|
||||
@ -310,7 +280,6 @@ void Display_brush_wide2(byte * brush, word x_pos,word y_pos,word x_offset,word
|
||||
// On vérifie que ce n'est pas la transparence
|
||||
if(*src != transp_color)
|
||||
{
|
||||
//*(dest+VIDEO_LINE_WIDTH+3)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+3)=*(dest+2)=*(dest+1)=*dest=*src;
|
||||
*(dest1+3) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+3) = *(dest+2) = *(dest+1) = *dest = *src;
|
||||
}
|
||||
|
||||
@ -338,7 +307,6 @@ void Remap_screen_wide2(word x_pos,word y_pos,word width,word height,byte * conv
|
||||
// Pour chaque pixel
|
||||
for(x=width;x>0;x--)
|
||||
{
|
||||
//*(dest+VIDEO_LINE_WIDTH+3)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+3)=*(dest+2)=*(dest+1)=*dest=
|
||||
*(dest1+3) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+3) = *(dest+2) = *(dest+1) = *dest =
|
||||
conversion_table[*dest];
|
||||
dest +=ZOOMX;
|
||||
@ -363,13 +331,10 @@ void Display_line_on_screen_wide2(word x_pos,word y_pos,word width,byte * line)
|
||||
/* On affiche une ligne de pixels en les doublant. */
|
||||
{
|
||||
int x;
|
||||
//byte *dest;
|
||||
//dest=Screen_pixels+x_pos*ZOOMX+y_pos*ZOOMY*VIDEO_LINE_WIDTH;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY);
|
||||
byte* dest1 = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos * ZOOMY + 1);
|
||||
for(x=width;x>0;x--)
|
||||
{
|
||||
//*(dest+VIDEO_LINE_WIDTH+3)=*(dest+VIDEO_LINE_WIDTH+2)=*(dest+VIDEO_LINE_WIDTH+1)=*(dest+VIDEO_LINE_WIDTH)=*(dest+3)=*(dest+2)=*(dest+1)=*dest=*line;
|
||||
*(dest1+3) = *(dest1+2) = *(dest1+1) = *(dest1) = *(dest+3) = *(dest+2) = *(dest+1) = *dest = *line;
|
||||
dest+=ZOOMX;
|
||||
dest1+=ZOOMX;
|
||||
@ -382,7 +347,6 @@ void Display_transparent_mono_line_on_screen_wide2(
|
||||
// Affiche une ligne à l'écran avec une couleur + transparence.
|
||||
// Utilisé par les brosses en mode zoom
|
||||
{
|
||||
//byte* dest = Screen_pixels+ y_pos*VIDEO_LINE_WIDTH + x_pos*ZOOMX;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y_pos);
|
||||
int x;
|
||||
// Pour chaque pixel
|
||||
@ -399,7 +363,6 @@ void Display_transparent_mono_line_on_screen_wide2(
|
||||
|
||||
void Read_line_screen_wide2(word x_pos,word y_pos,word width,byte * line)
|
||||
{
|
||||
//memcpy(line,VIDEO_LINE_WIDTH*ZOOMY * y_pos + x_pos * ZOOMX + Screen_pixels,width*ZOOMX);
|
||||
memcpy(line, Get_Screen_pixel_ptr(x_pos * ZOOMX, ZOOMY * y_pos), width*ZOOMX);
|
||||
}
|
||||
|
||||
@ -465,7 +428,6 @@ void Display_brush_color_zoom_wide2(word x_pos,word y_pos,
|
||||
for(bx=Main.magnifier_factor;bx>0;bx--)
|
||||
{
|
||||
byte* line_src = buffer;
|
||||
//byte* dest = Screen_pixels + y*ZOOMY * VIDEO_LINE_WIDTH + x_pos * ZOOMX;
|
||||
byte* dest = Get_Screen_pixel_ptr(x_pos * ZOOMX, y*ZOOMY);
|
||||
word x;
|
||||
// Pour chaque pixel de la ligne
|
||||
@ -479,7 +441,6 @@ void Display_brush_color_zoom_wide2(word x_pos,word y_pos,
|
||||
dest+=ZOOMX;
|
||||
}
|
||||
// Double the line
|
||||
//memcpy(Screen_pixels + (y*ZOOMY+1)*VIDEO_LINE_WIDTH + x_pos*ZOOMX, Screen_pixels + y*ZOOMY*VIDEO_LINE_WIDTH + x_pos*ZOOMX, width*ZOOMX*Main.magnifier_factor);
|
||||
memcpy(Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY + 1), Get_Screen_pixel_ptr(x_pos * ZOOMX, y * ZOOMY), width*ZOOMX*Main.magnifier_factor);
|
||||
y++;
|
||||
if(y==end_y_pos)
|
||||
@ -582,5 +543,3 @@ void Clear_brush_scaled_wide2(word x_pos,word y_pos,word x_offset,word y_offset,
|
||||
src+= image_width;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user