# Color chooser test program for the Python port of # the Fast Light Tool Kit (pyFLTK). # # FLTk is Copyright 1998-2003 by Bill Spitzak and others. # pyFLTK is Copyright 2003 by Andreas Held # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA. # # Please report all bugs and problems to "pyfltk-user@lists.sourceforge.net". # from fltk import * import sys width = 75 height = 75 image = [] def make_image(): global image for y in xrange(0, height, 1): Y = (1.0 *y)/(height-1) for x in xrange(0, width, 1): X = (1.0 * x)/(width-1) image.append(int((255*((1-X)*(1-Y))))) # red in upper-left image.append(int((255*((1-X)*Y)))) # // green in lower-left image.append(int((255*(X*Y)))) # // blue in lower-right class Pens(Fl_Box): def __init__(self, X, Y, W, H, L): Fl_Box.__init__(self, X,Y,W,H,L) def draw(self): #// use every color in the gray ramp: i = 0 while i < 3*8: fl_color(FL_GRAY_RAMP+i) fl_line(self.x()+i, self.y(), self.x()+i, self.y()+self.h()) i += 1 c = FL_GRAY fullcolor_cell = FL_FREE_COLOR def cb1(ptr, box): global c c = fl_show_colormap(c) box.color(c) parent = box.parent() parent.redraw() def cb2(ptr, box): global c r = 0 g = 0 b = 0 (r, g, b) = Fl.get_color(c) (status, r, g, b) = fl_color_chooser("New color:", r,g,b) if status == 0: return None c = fullcolor_cell Fl.set_color(fullcolor_cell, r, g, b) box.color(fullcolor_cell) parent = box.parent() parent.redraw() Fl.set_color(fullcolor_cell,145,159,170) window = Fl_Window(400,400) box = Fl_Box(50,50,300,300) box.box(FL_THIN_DOWN_BOX) c = fullcolor_cell box.color(c) b1 = Fl_Button(130,120,140,30,"fl_show_colormap") b1.callback(cb1, box) # b1.callback(cb1,&box) b2 = Fl_Button(130,160,140,30,"fl_choose_color") b2.callback(cb2,box) image_box = Fl_Box(140,200,120,120,"") make_image() #i = Fl_Image(image, width, height) i = Fl_RGB_Image(image, width, height) i.label(image_box) b = Fl_Box(140,335,120,0,"Example of fl_draw_image()") p = Pens(80,200,3*8,120,"lines") p.align(FL_ALIGN_TOP) p.redraw() window.end() window.show(len(sys.argv), sys.argv) Fl.run()