Group :: Gráficos
RPM: xmrm
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
Patch: xmrm.morphvec.cc.patch
Download
Download
Mon Feb 20 21:49:52 MSK 2006 george@arnor.homeunix.org
* Makefile XOrg7 adaptation
Mon Feb 20 20:17:45 MSK 2006 george@arnor.homeunix.org
* Eliminating GX* and zero linewidth
Tue Dec 20 13:54:19 MSK 2005 george@arnor.homeunix.org
* -I/usr/X11R6/include/X11
Tue Dec 20 12:57:10 MSK 2005 george@arnor.homeunix.org
* Remove unused libraries
Tue Dec 20 12:04:31 MSK 2005 george@arnor.homeunix.org
* Eliminate fake image creations
Tue Dec 20 11:52:37 MSK 2005 george@arnor.homeunix.org
* Unhack BSD sspecifics
Tue Dec 20 11:37:56 MSK 2005 george@arnor.homeunix.org
* patch-xmrm*
Tue Dec 20 11:37:18 MSK 2005 george@arnor.homeunix.org
* patch-io.cc
Tue Dec 20 11:37:06 MSK 2005 george@arnor.homeunix.org
* patch-const.h
Tue Dec 20 11:36:54 MSK 2005 george@arnor.homeunix.org
* patch-af
Tue Dec 20 11:36:45 MSK 2005 george@arnor.homeunix.org
* patch-ad
Tue Dec 20 11:36:22 MSK 2005 george@arnor.homeunix.org
* patch-Makefile
--- old-xmrm/morphvec.cc 2006-02-20 21:51:49 +0300
+++ new-xmrm/morphvec.cc 2006-02-20 21:51:49 +0300
@@ -17,7 +17,7 @@
extern Display *disp;
-extern max_x,max_y;
+extern int max_x,max_y;
extern ControlClass control;
extern VisualInfoClass vis;
extern WindowClass *s_win, *d_win;
@@ -114,33 +114,33 @@
/* Method InitImage: */
int MyImageClass::InitImage(int x,int y)
{
- if (pic_scal==NULL)
- {
- if ( (pic_scal = (char *)malloc(x*y*(vis.p_fetch/8))) == NULL )
+ if (x==0) image=NULL;
+ else { /* Create image: */
+ if (pic_scal==NULL)
{
- fl_show_alert("WARNING:","Not enough memory available !","" ,1);
- return -1;
- }
- }
- else
- {
- if ( (pic_scal = (char *)realloc(pic_scal,x*y*(vis.p_fetch/8))) == NULL )
+ if ( (pic_scal = (char *)malloc(x*y*(vis.p_fetch/8))) == NULL )
+ {
+ fl_show_alert("WARNING:","Not enough memory available !","" ,1);
+ return -1;
+ }
+ }
+ else
{
- fl_show_alert("WARNING:","Not enough memory available !","" ,1);
- return -1;
- }
- }
+ if ( (pic_scal = (char *)realloc(pic_scal,x*y*(vis.p_fetch/8))) == NULL )
+ {
+ fl_show_alert("WARNING:","Not enough memory available !","" ,1);
+ return -1;
+ }
+ }
- if (x==0) image=NULL;
- else
- /* Create image: */
- if ( (image = XCreateImage(disp,vis.xvis_info->visual,vis.depth,ZPixmap,0,pic_scal,
- x,y,32,x*(vis.p_fetch/8))) == NULL)
- {
- fl_show_alert("ERROR:","Cannot create image !","",1);
- return -2;
+ if ( (image = XCreateImage(disp,vis.xvis_info->visual,vis.depth,ZPixmap,0,pic_scal,
+ x,y,32,x*(vis.p_fetch/8))) == NULL)
+ {
+ fl_show_alert("ERROR:","Cannot create image !","",1);
+ return -2;
+ }
}
-
+
image_x=x; image_y=y;
// printf ("Mem adress: %d\n",(void *)pic_scal);
@@ -421,7 +421,7 @@
point[1].x = xe + (int) (ARROW_V*-vx-ARROW_N*nx); point[1].y = ye + (int) (ARROW_V*-vy-ARROW_N*ny);
point[2].x = xe; point[2].y = ye;
- fl_linewidth(0); fl_drawmode(mode); fl_linestyle(LineSolid);
+ fl_linewidth(1); fl_drawmode(mode); fl_linestyle(LineSolid);
fl_line(xa,ya,xe,ye,FL_BLACK);
fl_linestyle(LineOnOffDash);
fl_line(xa,ya,xe,ye,col);
@@ -433,6 +433,7 @@
void MorphVecClass::DrawVectorScal(FL_OBJECT *obj, int item, int mode, FL_COLOR col)
{
double sc_x,sc_y;
+
sc_x = (double) obj->w / max_x; sc_y = (double) obj->h / max_y;
if (item > nr_vec)
@@ -444,7 +445,7 @@
DrawVector(int((sc_x*xa[item])+obj->x),int((sc_y*ya[item])+obj->y),
int((sc_x*xe[item])+obj->x),int((sc_y*ye[item])+obj->y),mode,col);
- fl_linestyle(LineSolid); fl_linewidth(1); fl_drawmode(GXcopy);
+ fl_linestyle(LineSolid); fl_linewidth(1); fl_drawmode(FL_COPY);
}
/* Method MapVectors: */
@@ -453,7 +454,7 @@
int i;
for (i=1; i<=nr_vec; i++)
- if (i != exept1 && i!= exept2) DrawVectorScal(obj,i,GXcopy,FL_WHITE);
+ if (i != exept1 && i!= exept2) DrawVectorScal(obj,i,FL_COPY,FL_WHITE);
}
/* Method GetMaxVec: */
@@ -559,13 +560,13 @@
switch(control.flag_set_vector)
{
case VEC_DRAWSTART:
- vec->DrawVector(xa,ya,xo,yo,GXxor,FL_WHITE); // Draw first xor-vector
+ vec->DrawVector(xa,ya,xo,yo,FL_XOR,FL_WHITE); // Draw first xor-vector
control.flag_set_vector = VEC_SET; control.edit_change_perm=0; // edit-mode-settings
break;
case VEC_DRAWEND: // mouse button has been released, vector is defined now,
- vec->DrawVector(xa,ya,xo,yo,GXxor,FL_WHITE); // clear xor-vector
- vec->DrawVectorScal(obj, vec->GetMaxVec(),GXcopy,FL_WHITE); // and draw the vector new & fine
+ vec->DrawVector(xa,ya,xo,yo,FL_XOR,FL_WHITE); // clear xor-vector
+ vec->DrawVectorScal(obj, vec->GetMaxVec(),FL_COPY,FL_WHITE); // and draw the vector new & fine
control.flag_set_vector = VEC_NOSET; // edit-mode-settings
control.edit_change_perm=1;
allow_setting = src_dst || (s_vec->GetMaxVec()>d_vec->GetMaxVec()); // check what cursor to be set
@@ -575,14 +576,14 @@
break;
case VEC_CLEAR:
- vec->DrawVector(xa,ya,xo,yo,GXxor,FL_WHITE); // Clear xor-vector
+ vec->DrawVector(xa,ya,xo,yo,FL_XOR,FL_WHITE); // Clear xor-vector
fl_set_cursor(win,XC_arrow); // change cursor from X to arrow
control.flag_set_vector = VEC_NOSET; control.edit_change_perm=1; // edit-mode-settings
break;
case VEC_SET:
- vec->DrawVector(xa,ya,xo,yo,GXxor,FL_WHITE); // Clear old xor-vector
- vec->DrawVector(xa,ya,x,y,GXxor,FL_WHITE); // and draw new xor-vector
+ vec->DrawVector(xa,ya,xo,yo,FL_XOR,FL_WHITE); // Clear old xor-vector
+ vec->DrawVector(xa,ya,x,y,FL_XOR,FL_WHITE); // and draw new xor-vector
break;
case VEC_NOSET:
@@ -591,14 +592,14 @@
if (control.co_vector == CO_SHOW)
{
if (s_vec->GetMaxVec() > d_vec->GetMaxVec())
- vec->DrawVectorScal(obj,d_vec->GetMaxVec()+1,GXcopy,FL_GREEN); // Draw new corresp. source vec
+ vec->DrawVectorScal(obj,d_vec->GetMaxVec()+1,FL_COPY,FL_GREEN); // Draw new corresp. source vec
if (d_vec->GetMaxVec()>0)
- vec->DrawVectorScal(obj,d_vec->GetMaxVec(),GXcopy,FL_WHITE); // Clear old corresp. source vec
+ vec->DrawVectorScal(obj,d_vec->GetMaxVec(),FL_COPY,FL_WHITE); // Clear old corresp. source vec
}
else if (control.co_vector == CO_HIDE)
{
if (s_vec->GetMaxVec() > d_vec->GetMaxVec())
- vec->DrawVectorScal(obj,d_vec->GetMaxVec()+1,GXcopy,FL_WHITE); // Hide new corresponding source vec
+ vec->DrawVectorScal(obj,d_vec->GetMaxVec()+1,FL_COPY,FL_WHITE); // Hide new corresponding source vec
}
}
break;
@@ -617,28 +618,28 @@
vec->MapVectors(obj,0,0);
if (vec_i <= vec->GetMaxVec())
{
- vec->DrawVectorScal(obj,vec_i,GXcopy,color);
+ vec->DrawVectorScal(obj,vec_i,FL_COPY,color);
if (control.edit_mode == EDIT_REPLACE)
{
// end of vector: test if connected
- if (what_connect==1) vec->DrawVectorScal(obj,vec_i-1, GXcopy,color);
- if (what_connect==2) vec->DrawVectorScal(obj,vec_i+1, GXcopy,color);
+ if (what_connect==1) vec->DrawVectorScal(obj,vec_i-1, FL_COPY,color);
+ if (what_connect==2) vec->DrawVectorScal(obj,vec_i+1, FL_COPY,color);
}
}
break;
case VEC_NOSEARCH: // mouse away from vec -> draw vec WHITE
- //if (vec_i <= vec->GetMaxVec()) vec->DrawVectorScal(obj,vec_i,GXcopy,FL_WHITE);
+ //if (vec_i <= vec->GetMaxVec()) vec->DrawVectorScal(obj,vec_i,FL_COPY,FL_WHITE);
color=FL_WHITE;
if (vec_i <= vec->GetMaxVec())
{
- vec->DrawVectorScal(obj,vec_i,GXcopy,color);
+ vec->DrawVectorScal(obj,vec_i,FL_COPY,color);
if (control.edit_mode == EDIT_REPLACE)
{
// end of vector: test if connected
- if (what_connect==1) vec->DrawVectorScal(obj,vec_i-1, GXcopy,color);
- if (what_connect==2) vec->DrawVectorScal(obj,vec_i+1, GXcopy,color);
+ if (what_connect==1) vec->DrawVectorScal(obj,vec_i-1, FL_COPY,color);
+ if (what_connect==2) vec->DrawVectorScal(obj,vec_i+1, FL_COPY,color);
}
}
control.flag_set_vector = VEC_NOSET;
@@ -649,29 +650,29 @@
if (what_connect==1) vec->MapVectors(obj,vec_i,vec_i-1);
if (what_connect==2) vec->MapVectors(obj,vec_i,vec_i+1);
- vec->DrawVector(xa,ya,xo,yo,GXxor,FL_WHITE); // Draw first xor-vector
+ vec->DrawVector(xa,ya,xo,yo,FL_XOR,FL_WHITE); // Draw first xor-vector
// connected ?:
if (what_connect!=0)
- vec->DrawVector(xa2,ya2,xo2,yo2,GXxor,FL_WHITE);
+ vec->DrawVector(xa2,ya2,xo2,yo2,FL_XOR,FL_WHITE);
control.flag_set_vector = VEC_SET;
fl_set_cursor_color(XC_arrow,color,FL_BLACK);
break;
case VEC_DRAWEND: // mouse button has been released, vector is defined now,
- vec->DrawVector(xa,ya,xo,yo,GXxor,FL_WHITE); // clear xor-vector
- vec->DrawVectorScal(obj, vec_i,GXcopy,FL_WHITE); // and draw the vector new & fine
+ vec->DrawVector(xa,ya,xo,yo,FL_XOR,FL_WHITE); // clear xor-vector
+ vec->DrawVectorScal(obj, vec_i,FL_COPY,FL_WHITE); // and draw the vector new & fine
if (what_connect != 0)
{
- vec->DrawVector(xa2,ya2,xo2,yo2,GXxor,FL_WHITE);
+ vec->DrawVector(xa2,ya2,xo2,yo2,FL_XOR,FL_WHITE);
if (what_connect==1)
- vec->DrawVectorScal(obj,vec_i-1,GXcopy,FL_WHITE);
+ vec->DrawVectorScal(obj,vec_i-1,FL_COPY,FL_WHITE);
else
- vec->DrawVectorScal(obj,vec_i+1,GXcopy,FL_WHITE);
+ vec->DrawVectorScal(obj,vec_i+1,FL_COPY,FL_WHITE);
what_connect=0;
}
@@ -687,23 +688,23 @@
case VEC_SET:
if (what_point == 1) // What side of vec can be moved ?
{
- vec->DrawVector(xa,ya,xo,yo,GXxor,FL_WHITE); // Clear old xor-vector
- vec->DrawVector(x,y,xo,yo,GXxor,FL_WHITE); // and draw new xor-vector
+ vec->DrawVector(xa,ya,xo,yo,FL_XOR,FL_WHITE); // Clear old xor-vector
+ vec->DrawVector(x,y,xo,yo,FL_XOR,FL_WHITE); // and draw new xor-vector
if (what_connect!=0)
{
- vec->DrawVector(xa2,ya2,xo2,yo2,GXxor,FL_WHITE); // Clear old xor-vector
- vec->DrawVector(xa2,ya2,x,y,GXxor,FL_WHITE); // and draw new xor-vector
+ vec->DrawVector(xa2,ya2,xo2,yo2,FL_XOR,FL_WHITE); // Clear old xor-vector
+ vec->DrawVector(xa2,ya2,x,y,FL_XOR,FL_WHITE); // and draw new xor-vector
}
}
else
{
- vec->DrawVector(xa,ya,xo,yo,GXxor,FL_WHITE); // Clear old xor-vector
- vec->DrawVector(xa,ya,x,y,GXxor,FL_WHITE); // and draw new xor-vector
+ vec->DrawVector(xa,ya,xo,yo,FL_XOR,FL_WHITE); // Clear old xor-vector
+ vec->DrawVector(xa,ya,x,y,FL_XOR,FL_WHITE); // and draw new xor-vector
if (what_connect!=0)
{
- vec->DrawVector(xa2,ya2,xo2,yo2,GXxor,FL_WHITE); // Clear old xor-vector
- vec->DrawVector(x,y,xo2,yo2,GXxor,FL_WHITE); // and draw new xor-vector
+ vec->DrawVector(xa2,ya2,xo2,yo2,FL_XOR,FL_WHITE); // Clear old xor-vector
+ vec->DrawVector(x,y,xo2,yo2,FL_XOR,FL_WHITE); // and draw new xor-vector
}
}
break;
@@ -743,7 +744,7 @@
}
fl_linestyle(LineSolid);
fl_linewidth(1);
- fl_drawmode(GXcopy);
+ fl_drawmode(FL_COPY);
break;