|
|
@ -1,8 +1,8 @@ |
|
|
|
/****************************************************************/ |
|
|
|
/* Routines generales d'affichage des curseurs et des marqueurs */ |
|
|
|
/****************************************************************/ |
|
|
|
/****************************************************************/ |
|
|
|
/* Routines generales d'affichage des curseurs et des marqueurs */ |
|
|
|
/****************************************************************/ |
|
|
|
|
|
|
|
/* fichier curseurs.cpp */ |
|
|
|
/* fichier curseurs.cpp */ |
|
|
|
|
|
|
|
#include "fctsys.h"
|
|
|
|
#include "gr_basic.h"
|
|
|
@ -14,57 +14,61 @@ |
|
|
|
/* Routines Locales : */ |
|
|
|
|
|
|
|
|
|
|
|
/* Forme (bit_map) du marqueur */ |
|
|
|
static char Default_MarkerBitmap[]= |
|
|
|
{ |
|
|
|
12, 12, /* Dimensions x et y du dessin de marqueurs*/ |
|
|
|
1,1,1,1,1,1,1,1,0,0,0,0, /* bitmap: 1 = color, 0 = notrace */ |
|
|
|
1,1,1,0,1,0,1,1,0,0,0,0, |
|
|
|
1,1,1,1,0,0,0,1,0,0,0,0, |
|
|
|
1,0,1,1,1,0,0,0,0,0,0,0, |
|
|
|
1,1,0,1,1,1,0,0,0,0,0,0, |
|
|
|
1,1,0,0,1,1,1,0,0,0,0,0, |
|
|
|
1,1,1,0,0,1,1,1,0,0,0,0, |
|
|
|
0,0,0,0,0,0,1,1,1,0,0,0, |
|
|
|
0,0,0,0,0,0,0,1,1,1,0,0, |
|
|
|
0,0,0,0,0,0,0,0,1,1,1,0, |
|
|
|
0,0,0,0,0,0,0,0,0,1,1,1, |
|
|
|
0,0,0,0,0,0,0,0,0,0,1,0 |
|
|
|
}; |
|
|
|
/* Forme (bit_map) du marqueur */ |
|
|
|
static char Default_MarkerBitmap[] = |
|
|
|
{ |
|
|
|
12, 12, /* Dimensions x et y du dessin de marqueurs*/ |
|
|
|
1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, /* bitmap: 1 = color, 0 = notrace */ |
|
|
|
1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, |
|
|
|
1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, |
|
|
|
1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, |
|
|
|
1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, |
|
|
|
1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, |
|
|
|
0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, |
|
|
|
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************************/ |
|
|
|
void MARQUEUR::Draw( WinEDA_DrawPanel * panel, wxDC * DC, int DrawMode) |
|
|
|
void MARQUEUR::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int DrawMode ) |
|
|
|
/**********************************************************************/ |
|
|
|
|
|
|
|
/*
|
|
|
|
Trace un repere sur l'ecran au point de coordonnees PCB pos |
|
|
|
Le marqueur est defini par un tableau de 2 + (lig*col) elements: |
|
|
|
1er element: dim nbre ligne |
|
|
|
2er element: dim nbre col |
|
|
|
suite: lig * col elements a 0 ou 1 : si 1 mise a color du pixel |
|
|
|
*/ |
|
|
|
* Trace un repere sur l'ecran au point de coordonnees PCB pos |
|
|
|
* Le marqueur est defini par un tableau de 2 + (lig*col) elements: |
|
|
|
* 1er element: dim nbre ligne |
|
|
|
* 2er element: dim nbre col |
|
|
|
* suite: lig * col elements a 0 ou 1 : si 1 mise a color du pixel |
|
|
|
*/ |
|
|
|
{ |
|
|
|
int px, py; |
|
|
|
int ii, ii_max, jj, jj_max; |
|
|
|
char * pt_bitmap = m_Bitmap; |
|
|
|
|
|
|
|
if ( pt_bitmap == NULL ) pt_bitmap = Default_MarkerBitmap; |
|
|
|
int px, py; |
|
|
|
int ii, ii_max, jj, jj_max; |
|
|
|
char* pt_bitmap = m_Bitmap; |
|
|
|
|
|
|
|
GRSetDrawMode(DC, DrawMode); |
|
|
|
if( pt_bitmap == NULL ) |
|
|
|
pt_bitmap = Default_MarkerBitmap; |
|
|
|
|
|
|
|
px = GRMapX(m_Pos.x); py = GRMapY(m_Pos.y); |
|
|
|
GRSetDrawMode( DC, DrawMode ); |
|
|
|
|
|
|
|
/* Lecture des dimensions */ |
|
|
|
ii_max = *(pt_bitmap++); jj_max = *(pt_bitmap++); |
|
|
|
px = GRMapX( m_Pos.x ); |
|
|
|
py = GRMapY( m_Pos.y ); |
|
|
|
|
|
|
|
/* Trace du bitmap */ |
|
|
|
for( ii = 0; ii < ii_max; ii++) |
|
|
|
{ |
|
|
|
for( jj = 0; jj < jj_max; jj++, pt_bitmap++) |
|
|
|
{ |
|
|
|
if(*pt_bitmap) GRSPutPixel(&panel->m_ClipBox, DC, |
|
|
|
px+ii , py+jj , m_Color); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
/* Lecture des dimensions */ |
|
|
|
ii_max = *(pt_bitmap++); |
|
|
|
jj_max = *(pt_bitmap++); |
|
|
|
|
|
|
|
/* Trace du bitmap */ |
|
|
|
for( ii = 0; ii < ii_max; ii++ ) |
|
|
|
{ |
|
|
|
for( jj = 0; jj < jj_max; jj++, pt_bitmap++ ) |
|
|
|
{ |
|
|
|
if( *pt_bitmap ) |
|
|
|
GRSPutPixel( &panel->m_ClipBox, DC, |
|
|
|
px + ii, py + jj, m_Color ); |
|
|
|
} |
|
|
|
} |
|
|
|
} |