[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [XForms] New development release
From: |
Michal Szymanski |
Subject: |
Re: [XForms] New development release |
Date: |
Sat, 24 May 2014 23:12:37 +0200 |
User-agent: |
Mutt/1.5.20 (2009-12-10) |
Hi,
Thanks for the new release. You seem, however, to have left "main()"
in goodie_colchooser.c inside "#if 1" (Line no. 654), so no user
program can be compiled:
goodie_colchooser.c:(.text.startup+0x0): multiple definition of `main'
/tmp/cc08uQ7u.o:colpicker.c:(.text.startup+0x0): first defined here
When changed to "#if 0", everything works fine :-)
regards, Michal.
On Sat, May 24, 2014 at 09:37:23PM +0200, Jens Thoms Toerring wrote:
> Hi,
>
> I've just uploaded a new development version:
>
> http://download-mirror.savannah.gnu.org/releases/xforms/development/1.3/xforms-1.3.9.tar.gz
>
> It comes with a number of changes to the positioner object:
>
> a) Probably most interesting: the range of values the user can pick can
> now be controlled via a "validator" function. When set each time the
> user moves the postioner to a new postion the coordinates are passed
> to that validation function and the function can then return a value
> (FL_POSITIONER_INVALID) to indicate that the new position is unaccep-
> table, it can flag that the new position is ok (FL_POSITIONER_VALID),
> or it can indicate that the position isn't ok and should be replaced by
> a different postion also returned (FL_POSITIONER_REPLACED).
>
> Background is that I attempted to write a color chooser with a HSV color-
> wheel (hi Sian, thanks for the idea) and the colorwheel is a circle
> from which a color is to be picked. With a validator function one now
> can keep the postioner within this circle (but also, in principle, in
> an arbitrarily formed area).
>
> b) There are now functions for setting both the x- and y-value of a positioner
> at once (sometimes necessary when a validator is active since) and to
> get the current boundary settings. Another function allows to tell the
> positioner that its background is going to change to avoid artefacts if
> this happens.
>
> c) Up to now the lines of the positioner were drawn in XOR mode. This let to
> the lines often becoming hard to see. This is now replaced by drawing
> "real" lines in the selected color. And, while the positioner is active
> and the mouse is over it, the cursor is switched of - this makes it easier
> to see were exactly the positioner is.
>
> I hope these changes make sense to you and don't interfer witch any of your
> existing programs. Otherwise please complain loudly!
>
> With the changes of the positioner there's now also a new "goodie", a color
> chooser. You call it with
>
> int fl_show_color_chooser( const int *rgb_in, int * rgb_out );
>
> The first argument is an array of three RGB values the color chooser should
> start up with. If you pass it a NULL pointer it starts with white. The second
> argument is an array with three elements for returning the selected color.
> If the user clicks on "OK" the funtion returns 1 and sets up 'ref_out',
> if s/he clicks on "Cancel" 0 ist returned (and 'rgb_out' remains unchanged).
>
> Here's a short program for testing it:
>
> #include <forms.h>
>
> int main( int argc, char **argv )
> {
> int rgb[ 3 ] = { 171, 13, 198 };
>
> fl_initialize( &argc, argv, "", 0, 0 );
> if ( fl_show_color_chooser( rgb, rgb ) )
> printf( "You picked %d, %d, %d\n", rgb[ 0 ], rgb[ 1 ], rgb[ 2 ] );
> return 0;
> }
>
> I hope you like the changes;-) Please let me know if they break anything
> with your code.
> Best regards, Jens
> --
> \ Jens Thoms Toerring ________ address@hidden
> \_______________________________ http://toerring.de
--
Michal Szymanski (msz at astrouw dot edu dot pl)
Warsaw University Observatory, Warszawa, POLAND