scsh-checkins
[Top] [All Lists]

[Scsh-checkins] CVS: scx/c/xlib colormap.c,1.8,1.9

To: scsh-checkins@lists.sourceforge.net
Subject: [Scsh-checkins] CVS: scx/c/xlib colormap.c,1.8,1.9
From: David Frese <frese@users.sourceforge.net>
Date: Tue Oct 9 08:32:10 2001
List-id: <scsh-checkins.lists.sourceforge.net>
Sender: scsh-checkins-admin@lists.sourceforge.net
Update of /cvsroot/scsh/scx/c/xlib
In directory usw-pr-cvs1:/tmp/cvs-serv3929/c/xlib

Modified Files:
        colormap.c 
Log Message:
- removed direct calls to scx_Create_Color
- renamed save-color-cell to store-color
- added store-colors, copy-colormap-and-free,
respect. scx_Store_Colors, scx_Copy_Colormap
- renamed alloc-named-color to query/alloc-named-color
- added new alloc-named-color that can be used like alloc-color!
- changed my-floor definition (color.scm)
- added parse-color
- updated calls to make-pixel


Index: colormap.c
===================================================================
RCS file: /cvsroot/scsh/scx/c/xlib/colormap.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** colormap.c  2001/09/20 14:41:01     1.8
--- colormap.c  2001/10/09 15:31:33     1.9
***************
*** 51,56 ****
                   SCX_EXTRACT_COLORMAP(cmap),
                   s48_extract_string(spec),
!                  &ret))
!     return scx_Create_Color (ret.red, ret.green, ret.blue);
    return S48_FALSE;
  }
--- 51,64 ----
                   SCX_EXTRACT_COLORMAP(cmap),
                   s48_extract_string(spec),
!                  &ret)) {
!     s48_value res = s48_make_vector(3, S48_FALSE);
!     S48_DECLARE_GC_PROTECT(1);
!     S48_GC_PROTECT_1(res);
!     S48_VECTOR_SET(res, 0, s48_enter_integer(ret.red));
!     S48_VECTOR_SET(res, 1, s48_enter_integer(ret.green));
!     S48_VECTOR_SET(res, 2, s48_enter_integer(ret.blue));
!     S48_GC_UNPROTECT();
!     return res;
!   }
    return S48_FALSE;
  }
***************
*** 94,100 ****
  }
  
! s48_value scx_Set_Color_Cell(s48_value Xdisplay, s48_value Xcolormap,
!                            s48_value Xpixel, s48_value Xcolor,
!                            s48_value flags) {
    XColor t;
    XColor* c;
--- 102,108 ----
  }
  
! s48_value scx_Store_Color(s48_value Xdisplay, s48_value Xcolormap,
!                         s48_value Xpixel, s48_value Xcolor,
!                         s48_value flags) {
    XColor t;
    XColor* c;
***************
*** 113,116 ****
--- 121,153 ----
  }
  
+ s48_value scx_Store_Colors(s48_value Xdisplay, s48_value Xcolormap, 
+                          s48_value cells) {
+   int n = S48_VECTOR_LENGTH(cells);
+   XColor colors[n];
+   XColor* c;
+   int i;
+ 
+   for (i = 0; i < n; i++) {
+     s48_value def = S48_VECTOR_REF(cells, i);
+     colors[i].pixel = SCX_EXTRACT_PIXEL(S48_VECTOR_REF(def, 0));
+     c = SCX_EXTRACT_COLOR(S48_VECTOR_REF(def, 1));
+     colors[i].red = c->red;
+     colors[i].green = c->green;
+     colors[i].blue = c->blue;
+     colors[i].flags = Symbols_To_Bits(S48_VECTOR_REF(def, 2), 
Color_Flags_Syms);
+   }
+ 
+   XStoreColors(SCX_EXTRACT_DISPLAY(Xdisplay), SCX_EXTRACT_COLORMAP(Xcolormap),
+              colors, n);
+ 
+   return S48_UNSPECIFIC;
+ }
+ 
+ s48_value scx_Copy_Colormap_And_Free(s48_value Xdisplay, s48_value Xcolormap) 
{
+   Colormap cm = XCopyColormapAndFree(SCX_EXTRACT_DISPLAY(Xdisplay), 
+                                    SCX_EXTRACT_COLORMAP(Xcolormap));
+   return SCX_ENTER_COLORMAP(cm);
+ }
+ 
  void scx_init_colormap(void) {
    S48_EXPORT_FUNCTION(scx_Free_Colormap);
***************
*** 120,123 ****
    S48_EXPORT_FUNCTION(scx_Create_Colormap);
    S48_EXPORT_FUNCTION(scx_Alloc_Color_Cells);
!   S48_EXPORT_FUNCTION(scx_Set_Color_Cell);
  }
--- 157,162 ----
    S48_EXPORT_FUNCTION(scx_Create_Colormap);
    S48_EXPORT_FUNCTION(scx_Alloc_Color_Cells);
!   S48_EXPORT_FUNCTION(scx_Store_Color);
!   S48_EXPORT_FUNCTION(scx_Store_Colors);
!   S48_EXPORT_FUNCTION(scx_Copy_Colormap_And_Free);
  }



<Prev in Thread] Current Thread [Next in Thread>
  • [Scsh-checkins] CVS: scx/c/xlib colormap.c,1.8,1.9, David Frese <=