From: Adrian F. <fe...@ma...> - 2001-01-30 13:51:33
|
Hi, Nicholas. On Tue, 30 Jan 2001, Nicholas Lewin-Koh wrote: > Hi, I just compiled and built the cvs version here are the patches I > needed to make, I needed to add a computer name to localhost because the > empty string was making gtk_clist_insert_node barf deep in gdk, because it > tries to draw the string and gives a warning. If I can find the winapi > call to get the computer name i can use something more elegant than > > strcpy(localhost, "My PC"); > > also i am attaching a cleaner makefile. > Thank you for your patches, I'm going to release in a couple of minutes, unless I find a problem. I've never tried to compile on windows, and I believe that it can be useful for many people, as well for making scigraphica trully cross-plattform. Maybe you can write some few lines telling the directions for compiling on win32, as a sort of guideline. I think it can be a nice contribution. If you can do it soon, let me know, and I'll pospone the release a couple of hours. > PS The rotation in testgtkplot3d is really slow, is this also a problem on > linux? If not are you using gdkdrawlines? Because on windows > gdk_draw_segments is an order of magnitude faster. We had to write > seperate line drawing routines in ggobi for windows. Otherwise are you > double buffering? > I wasn't aware of such a method. I'll take a look. If you have experience, that can be very helpful. The drawing certainly needs to be accelerated somehow, but I haven't discovered how, yet. I use all gdk methods, that are wrappers of Xlibs methods ,like gdk_draw_lines/rectangle/polygon. I draw on a backing pixmap instead of drawing on the window, and I copy the pixmap on the window every time the image needs to be refreshed. If you come with better ideas, very welcome! Thanks a lot! <ADRIAN> > --- gtkdirtree.c.orig Tue Jan 30 09:38:56 2001 > +++ gtkdirtree.c Tue Jan 30 11:29:40 2001 > @@ -38,6 +38,8 @@ > #define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR) > #define S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG) > #define S_ISLNK(m) (0) > +#elif defined(_WIN32) > +#define S_ISLNK(m) (0) > #endif > #endif > > @@ -237,6 +239,10 @@ > gchar localhost[MAXHOSTNAMELEN]; > GtkWidget *widget; > GdkColormap *colormap; > +#ifdef G_OS_WIN32 > + gchar drives[128]; > + gchar* drive; > +#endif > > widget = GTK_WIDGET(dir_tree); > colormap = gdk_colormap_get_system(); > @@ -248,6 +254,8 @@ > if ((gethostname (localhost, MAXHOSTNAMELEN) != 0) && > (getdomainname (localhost, MAXHOSTNAMELEN) != 0)) > strcpy (localhost, "LocalHost"); > +#else > + strcpy (localhost, "My PC"); > #endif > > dir_tree->local_hostname = g_strdup(localhost); > @@ -271,7 +279,7 @@ > gtk_clist_set_column_auto_resize(GTK_CLIST(dir_tree),0,TRUE); > gtk_clist_set_selection_mode(GTK_CLIST(dir_tree),GTK_SELECTION_SINGLE); > gtk_ctree_set_line_style(GTK_CTREE(dir_tree),GTK_CTREE_LINES_DOTTED); > - > + > gtk_signal_connect(GTK_OBJECT(dir_tree),"tree_expand",GTK_SIGNAL_FUNC(expand_tree), NULL); > > mypc_node=gtk_ctree_insert_node(GTK_CTREE(dir_tree),NULL,NULL,&dir_tree->local_hostname,4,dir_tree->my_pc,dir_tree->my_pc_mask,dir_tree->my_pc,dir_tree->my_pc_mask,FALSE,FALSE); > @@ -294,8 +302,7 @@ > /* On Windoze there isn't one unique root directory "/" but instead > * there are logical drives a:, c: ... . Insert them into the dir_tree. > */ > - gchar drives[128]; > - gchar* drive; > + > /* Get the Drives string */ > GetLogicalDriveStrings(sizeof(drives), drives); > drive = drives; > --- gtkfilelist.c.orig Tue Jan 30 09:38:04 2001 > +++ gtkfilelist.c Tue Jan 30 09:44:18 2001 > @@ -67,6 +67,8 @@ > #define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR) > #define S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG) > #define S_ISLNK(m) (0) > +#elif defined(_WIN32) > +#define S_ISLNK(m) (0) > #endif > #define lstat(f,s) stat(f,s) > #endif /* G_OS_WIN32 */ > > > CH3 > | > N Nicholas Lewin-Koh > / \ Dept of Statistics > N----C C==O Program in Ecology and Evolutionary Biology > || || | Iowa State University > || || | Ames, IA 50011 > CH C N--CH3 http://www.public.iastate.edu/~nlewin > \ / \ / nl...@ia... > N C > | || Currently > CH3 O Graphics Lab > School of Computing > National University of Singapore > The Real Part of Coffee koh...@co... > > On Mon, 29 Jan 2001, Adrian Feiguin wrote: > > > Hi, Nicholas. Thank you for the patches, but I'm a little confused, can > > you try the latest CVS version in windows and send me the patches against > > it? (BTW, can you use diff -u3 ?) Thanks a lot! > > <ADRIAN> > > > |