🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.windows.interviews
1 messages
1 total messages Started by Mauro DePalma Sun, 20 Dec 1992 21:53
patch for ./iv/src/examples/morpher
#1380
Author: Mauro DePalma
Date: Sun, 20 Dec 1992 21:53
160 lines
5131 bytes
After building InterViews 3.1 on a SPARCstation 1+ using gcc-2.3.1 (libg-2.3)
I made some changes to ''iv/src/examples/morpher'' which cause a 'make install'
to place idraw files needed by the application in a ''LibAllDir/icons''
directory. Imorpher itself now will search a "ICONPATH" for the needed
files where originally they had to be in "../icons".

  I think that imorpher is a good application, wish to thank the author(s)
and include with this posting ye' `ol patch file.

    mauro@netcom.com (member of the LPF)

-- CUT HERE -- CUT HERE-- CUT HERE-- CUT HERE-- CUT HERE-- CUT HERE--
*** orig/Imakefile	Sun Dec 20 10:29:22 1992
--- Imakefile	Sun Dec 20 13:14:37 1992
***************
*** 3,8 ****
--- 3,9 ----
  XCOMM
  
  #ifdef InObjectCodeDir
+  ICONPATH = -DICONPATH=\"LibAllDir/icons/\"
  
  Use_libInterViews()
  ComplexProgramTarget(imorpher)
***************
*** 10,22 ****
  MakeObjectFromSrc(main)
  MakeObjectFromSrc(figure)
  MakeObjectFromSrc(globals)
! MakeObjectFromSrc(glypheditor)
  MakeObjectFromSrc(glyphviewer)
  MakeObjectFromSrc(idraw)
  MakeObjectFromSrc(morpher)
- 
  #else
  
  MakeInObjectCodeDir()
  
  #endif
--- 11,38 ----
  MakeObjectFromSrc(main)
  MakeObjectFromSrc(figure)
  MakeObjectFromSrc(globals)
! 
! $(AOUT): glypheditor.o
! glypheditor.o: $(SRC)/glypheditor.$(CCSUFFIX)
! 	@$(RM) glypheditor.o glypheditor..c
! 	$(CCDRIVER) $(CCFLAGS) $(ICONPATH) -c $(SRC)/glypheditor.$(CCSUFFIX)
! 
  MakeObjectFromSrc(glyphviewer)
  MakeObjectFromSrc(idraw)
  MakeObjectFromSrc(morpher)
  #else
  
+   ICONS = icons/cont_play \
+           icons/fast_forward \
+           icons/fast_reverse \
+           icons/forward_pause \
+           icons/forward_play \
+           icons/pause \
+           icons/record \
+           icons/reverse_pause \
+           icons/reverse_play
+ 
  MakeInObjectCodeDir()
+ InstallMultipleFlags($(ICONS),LibAllDir/icons,InstDatFlags)
  
  #endif
*** orig/figure.c	Thu Aug 20 14:26:08 1992
--- figure.c	Sun Dec 20 11:09:32 1992
***************
*** 1379,1385 ****
  
  /**********************************************************************/
  declarePtrList(GraphicList, Graphic);
- implmentPtrList(GraphicList, Graphic);
  
  static Cursor* grabber_cursor = nil;
  static Cursor* window_cursor = nil;
--- 1379,1384 ----
*** orig/glypheditor.c	Sun Dec 20 10:29:23 1992
--- glypheditor.c	Sun Dec 20 13:08:42 1992
***************
*** 20,25 ****
--- 20,28 ----
  #include <OS/string.h>
  #include <stdio.h>
  #include <string.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+ 
  #include "figure.h"
  #include "morpher.h"
  #include "glypheditor.h"
***************
*** 355,362 ****
  }
      
  
- static const char* icon_dir = "../icons/";
- 
  Glyph* GlyphEditor::toolpal () {
      LayoutKit* layout = LayoutKit::instance();
      WidgetKit* widget = WidgetKit::instance();
--- 358,363 ----
***************
*** 364,375 ****
      
      TelltaleFlags f = TelltaleState::is_enabled | TelltaleState::is_choosable;
      PolyGlyph* hbox = layout->hbox(12);
  
      for (int i = 0; morph_array[i]._filename != nil; i++) {
          Coord l, b, r, t;
!         char buf[256];
!         strcpy(buf, icon_dir);
!         strcat(buf, morph_array[i]._filename);
  
          Graphic* gr = IdrawReader::load(buf);
          gr->getbounds(l, b, r, t);
--- 365,404 ----
      
      TelltaleFlags f = TelltaleState::is_enabled | TelltaleState::is_choosable;
      PolyGlyph* hbox = layout->hbox(12);
+     char* icon_dir;
+     char buf[256];
+     int marker;
  
+     /* Mauro DePalma (mauro@netcom.com) stardate 1992,12,20
+ 
+           some code added to search a path for the needed icons.
+     */
+     sprintf(buf, "%s:icons/:../icons/",
+                     (icon_dir = getenv("ICONPATH")) ? icon_dir : ICONPATH);
+ 
+     for (icon_dir = strtok(buf, ":"); icon_dir; icon_dir = strtok(NULL, ":"))
+       if (access(icon_dir, F_OK) == 0)
+         {
+           strcpy(buf, icon_dir);
+           marker = strlen(icon_dir);
+           break;
+         }
+ 
+     if (icon_dir == NULL)
+       {
+         puts("no 'icons' directory found.. installation problem?");
+         exit(1);
+       }
+ 
      for (int i = 0; morph_array[i]._filename != nil; i++) {
          Coord l, b, r, t;
!         strcpy(&buf[marker], morph_array[i]._filename);
! 
!         if (access(buf, F_OK))
!           {
!             printf("can't find '%s'.. installation problem?\n", buf);
!             exit(1);
!           }
  
          Graphic* gr = IdrawReader::load(buf);
          gr->getbounds(l, b, r, t);
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads