better xschem icon: added shapemask for "transparent" background
This commit is contained in:
parent
f837353429
commit
61dd4e99b0
|
|
@ -99,7 +99,7 @@ unsigned char pixdata_init[22][32]={ /* fill patterns... indexed by laynumb.
|
|||
GC *gcstipple,*gc, gctiled;
|
||||
Display *display;
|
||||
XRectangle xrect[1] = {{0,0,0,0}};
|
||||
Pixmap cad_icon_pixmap=0, *pixmap,save_pixmap; /* save_pixmap used to restore window */
|
||||
Pixmap cad_icon_pixmap=0, cad_icon_mask=0, *pixmap,save_pixmap; /* save_pixmap used to restore window */
|
||||
XPoint *gridpoint; /* pointer to array of gridpoints, used in draw() */
|
||||
XColor xcolor_array[256];
|
||||
Visual *visual;
|
||||
|
|
|
|||
96
src/icon.c
96
src/icon.c
|
|
@ -23,55 +23,55 @@
|
|||
/* XPM */
|
||||
char *cad_icon[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"60 41 6 1",
|
||||
" c black",
|
||||
". c #78787C7C7878",
|
||||
"X c #0000A8A8E8E8",
|
||||
"o c #B0B000000000",
|
||||
"O c #8888DCDC0000",
|
||||
"56 42 6 1 ",
|
||||
" c #BB2200",
|
||||
". c #FA0000",
|
||||
"X c red",
|
||||
"o c #229900",
|
||||
"O c #0044EE",
|
||||
"+ c None",
|
||||
/* pixels */
|
||||
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||
"+++++++.+++++++++++.+++++++++++.+++++++++++.+++++++++++.++++",
|
||||
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||
"+++++++++++++++++++OOOO+++++++++++++++++++++OOOO++++++++++++",
|
||||
"++++++++++++++++++++O+++++++++++++++++++++++++O+++++++++++++",
|
||||
"++++++++++++++++++++o++++++++++++++++++++++++oO+++++++++++++",
|
||||
"++++++++++++++++++O+O++++++++++++++++++++++O++O+++++++++++++",
|
||||
"++++++++++++++++++OOO++++++++++++++++++++++OOOO+++++++++++++",
|
||||
"+++++++++++++++++OO+++++++++++++++++++++++OO++++++++++++++++",
|
||||
"++++++++++++++++OOO++++++++++++++++++++++OOO++++++++++++++++",
|
||||
"++++++++++++++oOOOO++++++++++++++++++++oOOOO++++++++++++++++",
|
||||
"+++++++++++++++XOOO+++++++++++++++++++++XOOO++++++++++++++++",
|
||||
"+++++++++++++++X+OO+++++++++++++++++++++X+OO++++++++++++++++",
|
||||
"+++++++.+++++++X++OOO++++++++++.++++++++X++OOOO++++++++.++++",
|
||||
"+++++++++++++++X++O+o+++++++++++++++++++X++O+oO+++++++++++++",
|
||||
"+++++++++++++++X++++X+++++++++++++++++++X+++++X+++++++++++++",
|
||||
"+++++++++++++++X++++X+++++++++++++++++++X+++++X+++++++++++++",
|
||||
"++++++ooooXXXXXX++++XXXXXXXXXXXXXXXXXXXXX+++++XXXXXXXXXXXXXX",
|
||||
"++++++ooo++++++X++++X+++++++++++++++++++X+++++X+++++++++++++",
|
||||
"+++++++++++++++X++++X+++++++++++++++++++X+++++X+++++++++++++",
|
||||
"+++++++++++++++X++++o+++++++++++++++++++X++++oO+++++++++++++",
|
||||
"+++++++++++++++X++O+O+++++++++++++++++++X++O++O+++++++++++++",
|
||||
"+++++++++++++++X++OOO+++++++++++++++++++X++OOOO+++++++++++++",
|
||||
"+++++++++++++++X+OO+++++++++++++++++++++X+OO++++++++++++++++",
|
||||
"+++++++++++++++X+OO+++++++++++++++++++++X+OO++++++++++++++++",
|
||||
"+++++++.++++++oOOOO.+++++++++++.+++++++oOOOO+++++++++++.++++",
|
||||
"+++++++++++++++++OO+++++++++++++++++++++++OO++++++++++++++++",
|
||||
"+++++++++++++++++OO+++++++++++++++++++++++OO++++++++++++++++",
|
||||
"++++++++++++++++++OOO++++++++++++++++++++++OOOO+++++++++++++",
|
||||
"++++++++++++++++++O+o++++++++++++++++++++++O+oO+++++++++++++",
|
||||
"++++++++++++++++++++O+++++++++++++++++++++++++O+++++++++++++",
|
||||
"++++++++++++++++++++O+++++++++++++++++++++++++O+++++++++++++",
|
||||
"++++++++++++++++++++OO+++++++++++++++++++++++OO+++++++++++++",
|
||||
"++++++++++++++++++++O+++++++++++++++++++++++++O+++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||
"+++++++.+++++++++++.+++++++++++.+++++++++++.+++++++++++.++++"
|
||||
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||
"+++++++++++++++++++++oooo+++++++++++++++++oooo++++++++++",
|
||||
"++++++++++++++++++++++o++++++++++++++++++++o++++++++++++",
|
||||
"++++++++++++++++++++++o++++++++++++++++++++o++++++++++++",
|
||||
"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++",
|
||||
"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++",
|
||||
"++++++++++++++++++++++O++++++++++++++++++++O++++++++++++",
|
||||
"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++",
|
||||
"++++++++++++++++++++o+OOOOOOOO+++++++++++o+OOOOOOOO+++++",
|
||||
"++++++++++++++++++++o+o++++++O+++++++++++o+o++++++O+++++",
|
||||
"++++++++++++++++++o+ooo++++++O+++++++++o+ooo++++++O+++++",
|
||||
"++++++++++++++++++o+o++++++++O+++++++++o+o++++++++O+++++",
|
||||
"+++++++++++++++++oo+o++++++++O++++++++oo+o++++++++O+++++",
|
||||
"++++++++++++OOOO oo+ooOOOOOOOO+++OOOO oo+ooOOOOOOOO+++++",
|
||||
"++++++++++++O++ oo+o+ +++++++++O++ oo+o+ +++++++++++",
|
||||
"++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++",
|
||||
"++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++",
|
||||
"++++++++++++O+++++++ooo++++++++++O+++++++ooo++++++++++++",
|
||||
"++++++++++++O+++++++o+O +++++++++O+++++++o+O +++++++++++",
|
||||
"++ +++++++O+++++++++O +++++++++O+++++++++O +++++++ +",
|
||||
".+ OOOOOOOO+++++++++OOOOOOOOOOOO+++++++++OOOOOOOOOO ",
|
||||
"X+ +++++++O+++++++++O +++++++++O+++++++++O +++++++ +",
|
||||
"++++++++++++O+++++++o+O +++++++++O+++++++o+O +++++++++++",
|
||||
"++++++++++++O+++++++o+o++++++++++O+++++++o+o++++++++++++",
|
||||
"++++++++++++O+++++o+ooo++++++++++O+++++o+ooo++++++++++++",
|
||||
"++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++",
|
||||
"++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++",
|
||||
"++++++++++++OOOO oo+ooOOOOOOOO+++OOOO oo+ooOOOOOOOO+++++",
|
||||
"+++++++++++++++ +o+o+ +++++O++++++ +o+o+ +++++O+++++",
|
||||
"++++++++++++++++++o+o++++++++O+++++++++o+o++++++++O+++++",
|
||||
"++++++++++++++++++o+o++++++++O+++++++++o+o++++++++O+++++",
|
||||
"++++++++++++++++++++ooo++++++O+++++++++++ooo++++++O+++++",
|
||||
"++++++++++++++++++++o+OOOOOOOO+++++++++++o+OOOOOOOO+++++",
|
||||
"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++",
|
||||
"++++++++++++++++++++++O++++++++++++++++++++O++++++++++++",
|
||||
"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++",
|
||||
"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++",
|
||||
"++++++++++++++++++++++o++++++++++++++++++++o++++++++++++",
|
||||
"+++++++++++++++++++++ooo+++++++++++++++++++oo+++++++++++",
|
||||
"++++++++++++++++++++++o++++++++++++++++++++o++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
||||
};
|
||||
|
||||
|
|
|
|||
100
src/icon.xpm
100
src/icon.xpm
|
|
@ -1,53 +1,55 @@
|
|||
/* XPM */
|
||||
static char *icon[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
" 60 41 5 1",
|
||||
/* colors */
|
||||
". c #000000",
|
||||
"# c #00a8e8",
|
||||
"a c #787c78",
|
||||
"b c #88dc00",
|
||||
"c c #b00000",
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"56 42 6 1 ",
|
||||
" c #BB2200",
|
||||
". c #FA0000",
|
||||
"X c red",
|
||||
"o c #229900",
|
||||
"O c #0044EE",
|
||||
"+ c None",
|
||||
/* pixels */
|
||||
"............................................................",
|
||||
"............................................................",
|
||||
"............................................................",
|
||||
"............................................................",
|
||||
".......a...........a...........a...........a...........a....",
|
||||
"............................................................",
|
||||
"...................bbbb.....................bbbb............",
|
||||
"....................b.........................b.............",
|
||||
"....................c........................cb.............",
|
||||
"..................b.b......................b..b.............",
|
||||
"..................bbb......................bbbb.............",
|
||||
".................bb.......................bb................",
|
||||
"................bbb......................bbb................",
|
||||
"..............cbbbb....................cbbbb................",
|
||||
"...............#bbb.....................#bbb................",
|
||||
"...............#.bb.....................#.bb................",
|
||||
".......a.......#..bbb..........a........#..bbbb........a....",
|
||||
"...............#..b.c...................#..b.cb.............",
|
||||
"...............#....#...................#.....#.............",
|
||||
"...............#....#...................#.....#.............",
|
||||
"......cccc######....#####################.....##############",
|
||||
"......ccc......#....#...................#.....#.............",
|
||||
"...............#....#...................#.....#.............",
|
||||
"...............#....c...................#....cb.............",
|
||||
"...............#..b.b...................#..b..b.............",
|
||||
"...............#..bbb...................#..bbbb.............",
|
||||
"...............#.bb.....................#.bb................",
|
||||
"...............#.bb.....................#.bb................",
|
||||
".......a......cbbbba...........a.......cbbbb...........a....",
|
||||
".................bb.......................bb................",
|
||||
".................bb.......................bb................",
|
||||
"..................bbb......................bbbb.............",
|
||||
"..................b.c......................b.cb.............",
|
||||
"....................b.........................b.............",
|
||||
"....................bb.......................bb.............",
|
||||
"....................b.........................b.............",
|
||||
"............................................................",
|
||||
"............................................................",
|
||||
"............................................................",
|
||||
"............................................................",
|
||||
".......a...........a...........a...........a...........a...."
|
||||
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||
"+++++++++++++++++++++oooo+++++++++++++++++oooo++++++++++",
|
||||
"++++++++++++++++++++++o++++++++++++++++++++o++++++++++++",
|
||||
"++++++++++++++++++++++o++++++++++++++++++++o++++++++++++",
|
||||
"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++",
|
||||
"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++",
|
||||
"++++++++++++++++++++++O++++++++++++++++++++O++++++++++++",
|
||||
"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++",
|
||||
"++++++++++++++++++++o+OOOOOOOO+++++++++++o+OOOOOOOO+++++",
|
||||
"++++++++++++++++++++o+o++++++O+++++++++++o+o++++++O+++++",
|
||||
"++++++++++++++++++o+ooo++++++O+++++++++o+ooo++++++O+++++",
|
||||
"++++++++++++++++++o+o++++++++O+++++++++o+o++++++++O+++++",
|
||||
"+++++++++++++++++oo+o++++++++O++++++++oo+o++++++++O+++++",
|
||||
"++++++++++++OOOO oo+ooOOOOOOOO+++OOOO oo+ooOOOOOOOO+++++",
|
||||
"++++++++++++O++ oo+o+ +++++++++O++ oo+o+ +++++++++++",
|
||||
"++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++",
|
||||
"++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++",
|
||||
"++++++++++++O+++++++ooo++++++++++O+++++++ooo++++++++++++",
|
||||
"++++++++++++O+++++++o+O +++++++++O+++++++o+O +++++++++++",
|
||||
"++ +++++++O+++++++++O +++++++++O+++++++++O +++++++ +",
|
||||
".+ OOOOOOOO+++++++++OOOOOOOOOOOO+++++++++OOOOOOOOOO ",
|
||||
"X+ +++++++O+++++++++O +++++++++O+++++++++O +++++++ +",
|
||||
"++++++++++++O+++++++o+O +++++++++O+++++++o+O +++++++++++",
|
||||
"++++++++++++O+++++++o+o++++++++++O+++++++o+o++++++++++++",
|
||||
"++++++++++++O+++++o+ooo++++++++++O+++++o+ooo++++++++++++",
|
||||
"++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++",
|
||||
"++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++",
|
||||
"++++++++++++OOOO oo+ooOOOOOOOO+++OOOO oo+ooOOOOOOOO+++++",
|
||||
"+++++++++++++++ +o+o+ +++++O++++++ +o+o+ +++++O+++++",
|
||||
"++++++++++++++++++o+o++++++++O+++++++++o+o++++++++O+++++",
|
||||
"++++++++++++++++++o+o++++++++O+++++++++o+o++++++++O+++++",
|
||||
"++++++++++++++++++++ooo++++++O+++++++++++ooo++++++O+++++",
|
||||
"++++++++++++++++++++o+OOOOOOOO+++++++++++o+OOOOOOOO+++++",
|
||||
"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++",
|
||||
"++++++++++++++++++++++O++++++++++++++++++++O++++++++++++",
|
||||
"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++",
|
||||
"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++",
|
||||
"++++++++++++++++++++++o++++++++++++++++++++o++++++++++++",
|
||||
"+++++++++++++++++++++ooo+++++++++++++++++++oo+++++++++++",
|
||||
"++++++++++++++++++++++o++++++++++++++++++++o++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
||||
};
|
||||
|
||||
|
|
|
|||
10
src/xinit.c
10
src/xinit.c
|
|
@ -178,11 +178,12 @@ void windowid()
|
|||
/* here I create the icon pixmap,to be used when iconified, */
|
||||
#ifdef __unix__
|
||||
if(!cad_icon_pixmap) {
|
||||
i=XpmCreatePixmapFromData(display,framewin, cad_icon,&cad_icon_pixmap, NULL, NULL);
|
||||
i=XpmCreatePixmapFromData(display,framewin, cad_icon,&cad_icon_pixmap, &cad_icon_mask, NULL);
|
||||
dbg(1, "Tcl_AppInit(): creating icon pixmap returned: %d\n",i);
|
||||
hints_ptr = XAllocWMHints();
|
||||
hints_ptr->icon_pixmap = cad_icon_pixmap ;
|
||||
hints_ptr->flags = IconPixmapHint ;
|
||||
hints_ptr->icon_mask = cad_icon_mask ;
|
||||
hints_ptr->flags = IconPixmapHint | IconMaskHint;
|
||||
XSetWMHints(display, parent_of_topwindow, hints_ptr);
|
||||
XFree(hints_ptr);
|
||||
}
|
||||
|
|
@ -643,7 +644,10 @@ void xwin_exit(void)
|
|||
dbg(1, "xwin_exit(): destroying tk windows and releasing X11 stuff\n");
|
||||
Tk_DestroyWindow(mainwindow);
|
||||
#ifdef __unix__
|
||||
if(cad_icon_pixmap) XFreePixmap(display, cad_icon_pixmap);
|
||||
if(cad_icon_pixmap) {
|
||||
XFreePixmap(display, cad_icon_pixmap);
|
||||
XFreePixmap(display, cad_icon_mask);
|
||||
}
|
||||
#else
|
||||
if (cad_icon_pixmap) Tk_FreePixmap(display, cad_icon_pixmap);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -726,7 +726,7 @@ extern GC *gc, *gcstipple, gctiled;
|
|||
extern Display *display;
|
||||
extern XRectangle *rectangle;
|
||||
extern XPoint *gridpoint;
|
||||
extern Pixmap cad_icon_pixmap, *pixmap,save_pixmap;
|
||||
extern Pixmap cad_icon_pixmap, cad_icon_mask, *pixmap,save_pixmap;
|
||||
extern XColor xcolor_array[];
|
||||
extern Visual *visual;
|
||||
#ifdef HAS_CAIRO
|
||||
|
|
|
|||
Loading…
Reference in New Issue