Inheritance diagram for ImageCreateGradiate:


Public Member Functions | |
| ImageCreateGradiate () | |
| virtual | ~ImageCreateGradiate () |
| char * | GetDescription () const |
| void | LeftMiddle (uint8_t *pixels, int width, int height, double position) |
| void | LeftRight (uint8_t *pixels, int width, int height, double position) |
| void | TopBottom (uint8_t *pixels, int width, int height, double position) |
| void | TopMiddle (uint8_t *pixels, int width, int height, double position) |
| void | CreateFrame (uint8_t *pixels, int width, int height, double position, double frame_delta) |
| void | AttachWidgets (GtkBin *bin) |
| void | DetachWidgets (GtkBin *bin) |
| void | InterpretWidgets (GtkBin *bin) |
| int | GetNumberOfFrames () |
Private Attributes | |
| GtkWidget * | window |
| GdkColor | start_left |
| GdkColor | start_right |
| GdkColor | end_left |
| GdkColor | end_right |
| GdkColor | start |
| GdkColor | end |
| int | type |
| int | frames |
Definition at line 310 of file image_create.cc.
|
|
Definition at line 319 of file image_create.cc. References end_right, lookup_widget(), magick_glade, Repaint(), start_right, and window. 00320 {
00321 window = glade_xml_get_widget( magick_glade, "image_create_gradiate" );
00322 start_right.red = start_right.green = start_right.blue = 0;
00323 GtkWidget* widget = lookup_widget( window, "colorpicker_start_right" );
00324 gtk_color_button_set_color( GTK_COLOR_BUTTON( widget ), &start_right );
00325 g_signal_connect( G_OBJECT( widget ), "color-set", G_CALLBACK( Repaint ), 0 );
00326
00327 end_right.red = end_right.green = end_right.blue = 0;
00328 widget = lookup_widget( window, "colorpicker_end_right" );
00329 gtk_color_button_set_color( GTK_COLOR_BUTTON( widget ), &end_right );
00330 g_signal_connect( G_OBJECT( widget ), "color-set", G_CALLBACK( Repaint ), 0 );
00331
00332 widget = lookup_widget( window, "optionmenu_gradiate" );
00333 g_signal_connect( G_OBJECT( widget ), "changed", G_CALLBACK( Repaint ), 0 );
00334 widget = lookup_widget( window, "colorpicker_start_left" );
00335 g_signal_connect( G_OBJECT( widget ), "color-set", G_CALLBACK( Repaint ), 0 );
00336 widget = lookup_widget( window, "colorpicker_end_left" );
00337 g_signal_connect( G_OBJECT( widget ), "color-set", G_CALLBACK( Repaint ), 0 );
00338 }
|
|
|
Definition at line 340 of file image_create.cc. References window. 00341 {
00342 gtk_widget_destroy( window );
00343 }
|
|
|
Reimplemented from GDKImageCreate. Definition at line 458 of file image_create.cc. References window. 00459 {
00460 gtk_widget_reparent( ( GTK_BIN( window ) ) ->child, GTK_WIDGET( bin ) );
00461 }
|
|
||||||||||||||||||||||||
|
Implements ImageCreate. Definition at line 438 of file image_create.cc. References end, end_left, end_right, LeftMiddle(), LeftRight(), start, start_left, start_right, TopBottom(), TopMiddle(), and type. 00439 {
00440 start.red = start_left.red + guint16( ( end_left.red - start_left.red ) * position );
00441 start.green = start_left.green + guint16( ( end_left.green - start_left.green ) * position );
00442 start.blue = start_left.blue + guint16( ( end_left.blue - start_left.blue ) * position );
00443
00444 end.red = start_right.red + guint16( ( end_right.red - start_right.red ) * position );
00445 end.green = start_right.green + guint16( ( end_right.green - start_right.green ) * position );
00446 end.blue = start_right.blue + guint16( ( end_right.blue - start_right.blue ) * position );
00447
00448 if ( type == 0 )
00449 LeftMiddle( pixels, width, height, position );
00450 else if ( type == 1 )
00451 LeftRight( pixels, width, height, position );
00452 else if ( type == 2 )
00453 TopBottom( pixels, width, height, position );
00454 else if ( type == 3 )
00455 TopMiddle( pixels, width, height, position );
00456 }
|
|
|
Reimplemented from GDKImageCreate. Definition at line 463 of file image_create.cc. References window. 00464 {
00465 gtk_widget_reparent( ( GTK_BIN( bin ) ) ->child, GTK_WIDGET( window ) );
00466 }
|
|
|
Implements ImageCreate. Definition at line 345 of file image_create.cc. 00346 {
00347 return _( "Gradient" );
00348 }
|
|
|
Implements ImageCreate. Definition at line 490 of file image_create.cc. References frames. 00491 {
00492 return frames;
00493 }
|
|
|
Reimplemented from GDKImageCreate. Definition at line 468 of file image_create.cc. References end_left, end_right, frames, lookup_widget(), start_left, start_right, type, and window. 00469 {
00470 if ( bin->child != NULL )
00471 {
00472 GtkMenu * menu = GTK_MENU( gtk_option_menu_get_menu( GTK_OPTION_MENU( lookup_widget( window, "optionmenu_gradiate" ) ) ) );
00473 GtkWidget *active_item = gtk_menu_get_active( menu );
00474 type = g_list_index ( GTK_MENU_SHELL ( menu ) ->children, active_item );
00475
00476 GtkEntry *entry = GTK_ENTRY( lookup_widget( window, "spinbutton_frames" ) );
00477 frames = atoi( gtk_entry_get_text( entry ) );
00478
00479 gtk_color_button_get_color( GTK_COLOR_BUTTON( lookup_widget( window, "colorpicker_start_left" ) ),
00480 &start_left );
00481 gtk_color_button_get_color( GTK_COLOR_BUTTON( lookup_widget( window, "colorpicker_start_right" ) ),
00482 &start_right );
00483 gtk_color_button_get_color( GTK_COLOR_BUTTON( lookup_widget( window, "colorpicker_end_left" ) ),
00484 &end_left );
00485 gtk_color_button_get_color( GTK_COLOR_BUTTON( lookup_widget( window, "colorpicker_end_right" ) ),
00486 &end_right );
00487 }
00488 }
|
|
||||||||||||||||||||
|
Definition at line 350 of file image_create.cc. Referenced by CreateFrame(). 00351 {
00352 double rr = ( double ) ( end.red - start.red ) / ( double ) ( width ) * 2;
00353 double rg = ( double ) ( end.green - start.green ) / ( double ) ( width ) * 2;
00354 double rb = ( double ) ( end.blue - start.blue ) / ( double ) ( width ) * 2;
00355 uint8_t *p = pixels;
00356 for ( int y = 0; y < height; y ++ )
00357 {
00358 for ( int x = 0; x < width; x ++ )
00359 {
00360 if ( x < width / 2 )
00361 {
00362 *p ++ = guint16( start.red + rr * x ) >> 8;
00363 *p ++ = guint16( start.green + rg * x ) >> 8;
00364 *p ++ = guint16( start.blue + rb * x ) >> 8;
00365 }
00366 else
00367 {
00368 int o = width / 2 - ( x - width / 2 );
00369 *p ++ = guint16( start.red + rr * o ) >> 8;
00370 *p ++ = guint16( start.green + rg * o ) >> 8;
00371 *p ++ = guint16( start.blue + rb * o ) >> 8;
00372 }
00373 }
00374 }
00375 }
|
|
||||||||||||||||||||
|
Definition at line 377 of file image_create.cc. Referenced by CreateFrame(). 00378 {
00379 double rr = ( double ) ( end.red - start.red ) / ( double ) ( width );
00380 double rg = ( double ) ( end.green - start.green ) / ( double ) ( width );
00381 double rb = ( double ) ( end.blue - start.blue ) / ( double ) ( width );
00382 uint8_t *p = pixels;
00383 for ( int y = 0; y < height; y ++ )
00384 {
00385 for ( int x = 0; x < width; x ++ )
00386 {
00387 *p ++ = guint16( start.red + rr * x ) >> 8;
00388 *p ++ = guint16( start.green + rg * x ) >> 8;
00389 *p ++ = guint16( start.blue + rb * x ) >> 8;
00390 }
00391 }
00392 }
|
|
||||||||||||||||||||
|
Definition at line 394 of file image_create.cc. Referenced by CreateFrame(). 00395 {
00396 double rr = ( double ) ( end.red - start.red ) / ( double ) ( height );
00397 double rg = ( double ) ( end.green - start.green ) / ( double ) ( height );
00398 double rb = ( double ) ( end.blue - start.blue ) / ( double ) ( height );
00399 uint8_t *p = pixels;
00400 for ( int y = 0; y < height; y ++ )
00401 {
00402 for ( int x = 0; x < width; x ++ )
00403 {
00404 *p ++ = guint16( start.red + rr * y ) >> 8;
00405 *p ++ = guint16( start.green + rg * y ) >> 8;
00406 *p ++ = guint16( start.blue + rb * y ) >> 8;
00407 }
00408 }
00409 }
|
|
||||||||||||||||||||
|
Definition at line 411 of file image_create.cc. Referenced by CreateFrame(). 00412 {
00413 double rr = ( double ) ( end.red - start.red ) / ( double ) ( height ) * 2;
00414 double rg = ( double ) ( end.green - start.green ) / ( double ) ( height ) * 2;
00415 double rb = ( double ) ( end.blue - start.blue ) / ( double ) ( height ) * 2;
00416 uint8_t *p = pixels;
00417 for ( int y = 0; y < height; y ++ )
00418 {
00419 for ( int x = 0; x < width; x ++ )
00420 {
00421 if ( y < height / 2 )
00422 {
00423 *p ++ = guint16( start.red + rr * y ) >> 8;
00424 *p ++ = guint16( start.green + rg * y ) >> 8;
00425 *p ++ = guint16( start.blue + rb * y ) >> 8;
00426 }
00427 else
00428 {
00429 int o = height / 2 - ( y - height / 2 );
00430 *p ++ = guint16( start.red + rr * o ) >> 8;
00431 *p ++ = guint16( start.green + rg * o ) >> 8;
00432 *p ++ = guint16( start.blue + rb * o ) >> 8;
00433 }
00434 }
00435 }
00436 }
|
|
|
Definition at line 314 of file image_create.cc. Referenced by CreateFrame(), LeftMiddle(), LeftRight(), TopBottom(), and TopMiddle(). |
|
|
Definition at line 314 of file image_create.cc. Referenced by CreateFrame(), and InterpretWidgets(). |
|
|
Definition at line 314 of file image_create.cc. Referenced by CreateFrame(), ImageCreateGradiate(), and InterpretWidgets(). |
|
|
Definition at line 316 of file image_create.cc. Referenced by GetNumberOfFrames(), and InterpretWidgets(). |
|
|
Definition at line 314 of file image_create.cc. Referenced by CreateFrame(), LeftMiddle(), LeftRight(), TopBottom(), and TopMiddle(). |
|
|
Definition at line 314 of file image_create.cc. Referenced by CreateFrame(), and InterpretWidgets(). |
|
|
Definition at line 314 of file image_create.cc. Referenced by CreateFrame(), ImageCreateGradiate(), and InterpretWidgets(). |
|
|
Definition at line 315 of file image_create.cc. Referenced by CreateFrame(), and InterpretWidgets(). |
|
|
Definition at line 313 of file image_create.cc. Referenced by AttachWidgets(), DetachWidgets(), ImageCreateGradiate(), InterpretWidgets(), and ~ImageCreateGradiate(). |
1.4.2