Contour fill (issue 90), 4th mode of continuous drawing.
However, there is a rendering problem from the original polygon tool: the bottom pixels are not drawn. git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@581 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
		
							parent
							
								
									778d2fccde
								
							
						
					
					
						commit
						4349fd71a3
					
				@ -1687,7 +1687,7 @@ void Bouton_Dessin_Switch_mode(void)
 | 
			
		||||
{
 | 
			
		||||
/* ANCIEN CODE SANS POPUPS */
 | 
			
		||||
  Mode_de_dessin_en_cours++;
 | 
			
		||||
  if (Mode_de_dessin_en_cours>OPERATION_DESSIN_POINT)
 | 
			
		||||
  if (Mode_de_dessin_en_cours>OPERATION_FILLED_CONTOUR)
 | 
			
		||||
    Mode_de_dessin_en_cours=OPERATION_DESSIN_CONTINU;
 | 
			
		||||
 | 
			
		||||
  Effacer_curseur();
 | 
			
		||||
@ -1711,7 +1711,7 @@ void Bouton_Dessin_Switch_mode(void)
 | 
			
		||||
        {
 | 
			
		||||
            case 1:
 | 
			
		||||
                Mode_de_dessin_en_cours++;
 | 
			
		||||
                if (Mode_de_dessin_en_cours>OPERATION_DESSIN_POINT)
 | 
			
		||||
                if (Mode_de_dessin_en_cours>OPERATION_FILLED_CONTOUR)
 | 
			
		||||
                    Mode_de_dessin_en_cours=OPERATION_DESSIN_CONTINU;
 | 
			
		||||
                break;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1
									
								
								const.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								const.h
									
									
									
									
									
								
							@ -375,6 +375,7 @@ enum OPERATIONS
 | 
			
		||||
  OPERATION_DESSIN_CONTINU,     // Dessin à la main continu
 | 
			
		||||
  OPERATION_DESSIN_DISCONTINU,  // Dessin à la main discontinu
 | 
			
		||||
  OPERATION_DESSIN_POINT,       // Dessin à la main point par point
 | 
			
		||||
  OPERATION_FILLED_CONTOUR,     // Contour rempli
 | 
			
		||||
  OPERATION_LIGNE,              // Lignes
 | 
			
		||||
  OPERATION_K_LIGNE,            // Lignes reliées
 | 
			
		||||
  OPERATION_LIGNES_CENTREES,    // Lignes concentriques
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										11
									
								
								init.c
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								init.c
									
									
									
									
									
								
							@ -1534,6 +1534,17 @@ void Initialisation_des_operations(void)
 | 
			
		||||
  Initialiser_operation(OPERATION_FILLED_POLYFORM,0,8,
 | 
			
		||||
                        Filled_polyform_0_8,0);
 | 
			
		||||
 | 
			
		||||
  Initialiser_operation(OPERATION_FILLED_CONTOUR,1,0,
 | 
			
		||||
                        Filled_polyform_12_0,1);
 | 
			
		||||
  Initialiser_operation(OPERATION_FILLED_CONTOUR,2,0,
 | 
			
		||||
                        Filled_polyform_12_0,1);
 | 
			
		||||
  Initialiser_operation(OPERATION_FILLED_CONTOUR,1,8,
 | 
			
		||||
                        Filled_polyform_12_8,0);
 | 
			
		||||
  Initialiser_operation(OPERATION_FILLED_CONTOUR,2,8,
 | 
			
		||||
                        Filled_polyform_12_8,0);
 | 
			
		||||
  Initialiser_operation(OPERATION_FILLED_CONTOUR,0,8,
 | 
			
		||||
                        Filled_contour_0_8,0);
 | 
			
		||||
 | 
			
		||||
  Initialiser_operation(OPERATION_SCROLL,1,0,
 | 
			
		||||
                        Scroll_12_0,1);
 | 
			
		||||
  Initialiser_operation(OPERATION_SCROLL,2,0,
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										40
									
								
								operatio.c
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								operatio.c
									
									
									
									
									
								
							@ -2740,6 +2740,46 @@ void Filled_polyform_0_8(void)
 | 
			
		||||
  Operation_PUSH(Clic);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Filled_contour_0_8(void)
 | 
			
		||||
//  Opération   : OPERATION_FILLED_CONTOUR
 | 
			
		||||
//  Click Souris: 0
 | 
			
		||||
//  Taille_Pile : 8
 | 
			
		||||
//
 | 
			
		||||
//  Souris effacée: Non
 | 
			
		||||
{
 | 
			
		||||
  short Clic;
 | 
			
		||||
  short Fin_Y;
 | 
			
		||||
  short Fin_X;
 | 
			
		||||
  short Debut_Y;
 | 
			
		||||
  short Debut_X;
 | 
			
		||||
  short Couleur;
 | 
			
		||||
  short Initial_Y;
 | 
			
		||||
  short Initial_X;
 | 
			
		||||
 | 
			
		||||
  Operation_POP(&Clic);
 | 
			
		||||
  Operation_POP(&Fin_Y);
 | 
			
		||||
  Operation_POP(&Fin_X);
 | 
			
		||||
  Operation_POP(&Debut_Y);
 | 
			
		||||
  Operation_POP(&Debut_X);
 | 
			
		||||
  Operation_POP(&Couleur);
 | 
			
		||||
  Operation_POP(&Initial_Y);
 | 
			
		||||
  Operation_POP(&Initial_X);
 | 
			
		||||
 | 
			
		||||
  Attendre_fin_de_click();
 | 
			
		||||
  Effacer_curseur();
 | 
			
		||||
  Print_coordonnees();
 | 
			
		||||
 | 
			
		||||
  // Pas besoin d'effacer la ligne (Debut_X,Debut_Y)-(Fin_X,Fin_Y)
 | 
			
		||||
  // puisque on les effaces toutes d'un coup.
 | 
			
		||||
 | 
			
		||||
  Afficher_ecran();
 | 
			
		||||
  Polyfill(Polyfill_Nombre_de_points,Polyfill_Table_de_points,Couleur);
 | 
			
		||||
  free(Polyfill_Table_de_points);
 | 
			
		||||
 | 
			
		||||
  Cacher_pinceau=0;
 | 
			
		||||
 | 
			
		||||
  Afficher_curseur();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
////////////////////////////////////////////////////// OPERATION_PRISE_BROSSE
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -159,6 +159,7 @@ void Polyform_0_8(void);
 | 
			
		||||
void Filled_polyform_12_0(void);
 | 
			
		||||
void Filled_polyform_12_8(void);
 | 
			
		||||
void Filled_polyform_0_8(void);
 | 
			
		||||
void Filled_contour_0_8(void);
 | 
			
		||||
 | 
			
		||||
//////////////////////////////////////////////////////////// OPERATION_SCROLL
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user