3d buttons with Inkscape

The filter inkscape developers have done nice work. With the current SVN version it is possible to make a shape looking like a button (see attachments).
I noticed several things by testing it: - Adding a feOffset let Inkscape crash - There is no GUI, for setting the attribute in2 of feComposite to SourceGraphic if you don't count the XML editor. - The Grahpic looks similar but not equal on Firefox 3.0a6. The Graphic produced by Inkscape graphic is darker. The question is: Is it a bug in Firefox or Inkscape? Opera 9.20 display the Grahpic without the filter effect.

Florian Köberle wrote:
- The Grahpic looks similar but not equal on Firefox 3.0a6. The Graphic
produced by Inkscape graphic is darker. The question is: Is it a bug in Firefox or Inkscape? Opera 9.20 display the Grahpic without the filter effect.
One thing you could do is to test it in Batik, which is a good reference renderer to know appropriate behavior. If it appears the same in Batik, then I'd lean more toward the issue being in Firefox. But if it appears the same in Firefox, it would probably be a problem on our end then.
-Josh

Batik renders the image like Firefox 3.0a6. Simply compare the attachment with the attachments from my last mail. So it looks like it is a bug in Inkscape.
Joshua A. Andler schrieb:
Florian Köberle wrote:
- The Grahpic looks similar but not equal on Firefox 3.0a6. The Graphic
produced by Inkscape graphic is darker. The question is: Is it a bug in Firefox or Inkscape? Opera 9.20 display the Grahpic without the filter effect.
One thing you could do is to test it in Batik, which is a good reference renderer to know appropriate behavior. If it appears the same in Batik, then I'd lean more toward the issue being in Firefox. But if it appears the same in Firefox, it would probably be a problem on our end then.
-Josh

I've committed an update to the filter dialog, it allows setting the in2 attribute now.
-Nicholas
On 7/13/07, Florian Köberle <FloriansKarten@...128...> wrote:
The filter inkscape developers have done nice work. With the current SVN version it is possible to make a shape looking like a button (see attachments).
I noticed several things by testing it:
- Adding a feOffset let Inkscape crash
- There is no GUI, for setting the attribute in2 of feComposite to
SourceGraphic if you don't count the XML editor.
- The Grahpic looks similar but not equal on Firefox 3.0a6. The Graphic
produced by Inkscape graphic is darker. The question is: Is it a bug in Firefox or Inkscape? Opera 9.20 display the Grahpic without the filter effect.
This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel

Fri, 13 Jul 2007 16:56:37 +0200 Florian Köberle <FloriansKarten@...128...> kirjoitti:
The filter inkscape developers have done nice work. With the current SVN version it is possible to make a shape looking like a button (see attachments).
I noticed several things by testing it:
- Adding a feOffset let Inkscape crash
Can you describe in more detail, what did you do to make Inkscape crash? Also, a backtrace from the moment Inkscape crashed would be really useful tracking that down.
- The Grahpic looks similar but not equal on Firefox 3.0a6. The
Graphic produced by Inkscape graphic is darker. The question is: Is it a bug in Firefox or Inkscape? Opera 9.20 display the Grahpic without the filter effect.
Meh. An I did double check those calculations too. Guess I'll have to go through them once again.

I see the same problem with a crash on adding an Offset: Here's the backtrace.
Tav
--------------------------------------------------
[Thread debugging using libthread_db enabled] [New Thread -1208961312 (LWP 6359)]
(inkscape:6359): GLib-CRITICAL **: g_ascii_strtod: assertion `nptr != NULL' failed
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1208961312 (LWP 6359)] 0x0817e12b in sp_feOffset_read_number (value=0x0) at sp-feoffset.cpp:116 116 if (*end) { (gdb) bt #0 0x0817e12b in sp_feOffset_read_number (value=0x0) at sp-feoffset.cpp:116 #1 0x0817e1c7 in sp_feOffset_set (object=0xa7656d0, key=101, value=0x0) at sp-feoffset.cpp:135 #2 0x080bff2f in sp_object_read_attr (object=0xa7656d0, key=0x849e9dd "dx") at sp-object.cpp:1060 #3 0x0817e0f9 in sp_feOffset_build (object=0xa7656d0, document=0xa121fa0, repr=0xad648f0) at sp-feoffset.cpp:98 #4 0x080c0243 in sp_object_invoke_build (object=0xa7656d0, document=0xa121fa0, repr=0xad648f0, cloned=0) at sp-object.cpp:853 #5 0x080c23de in sp_object_child_added (object=0xbfc6038, child=0xad648f0, ref=0x0) at sp-object.cpp:710 #6 0x080a19f9 in sp_filter_child_added (object=0xbfc6038, child=0x0, ref=0x0) at sp-filter.cpp:384 #7 0x08468f22 in Inkscape::XML::CompositeNodeObserver::notifyChildAdded (this=0xad64930, node=@0xad64970, child=@0xad648f0, prev=0x0) at xml/composite-node-observer.cpp:32 #8 0x08118894 in Inkscape::XML::SimpleNode::addChild (this=0xad64900, child=0xad648f0, ref=0x0) at xml/simple-node.cpp:399 #9 0x0811aa3f in Inkscape::XML::SimpleNode::appendChild (this=0xad64900, child=0xad648f0) at ./xml/simple-node.h:68 #10 0x08481072 in filter_add_primitive (filter=0xbfc6038, type=0x9faf0ac "svg:feOffset") at filter-chemistry.cpp:124 #11 0x081c0483 in Inkscape::UI::Dialog::FilterEffectsDialog::add_primitive (this=0xbfe24c0) at ui/dialog/filter-effects-dialog.cpp:830 #12 0x0063e57a in Glib::SignalProxyNormal::slot0_void_callback () from /usr/lib/libglibmm-2.4.so.1 #13 0x06a1a0f9 in g_cclosure_marshal_VOID__VOID () from /lib/libgobject-2.0.so.0 #14 0x06a0cd9b in g_closure_invoke () from /lib/libgobject-2.0.so.0 #15 0x06a1d721 in g_signal_chain_from_overridden () from /lib/libgobject-2.0.so.0 #16 0x06a1e957 in g_signal_emit_valist () from /lib/libgobject-2.0.so.0 #17 0x06a1eb19 in g_signal_emit () from /lib/libgobject-2.0.so.0 #18 0x04797d63 in gtk_button_clicked () from /usr/lib/libgtk-x11-2.0.so.0 #19 0x047999ce in gtk_button_set_alignment () from /usr/lib/libgtk-x11-2.0.so.0 #20 0x07cb7e54 in Gtk::Button_Class::released_callback () from /usr/lib/libgtkmm-2.4.so.1 #21 0x06a1a0f9 in g_cclosure_marshal_VOID__VOID () from /lib/libgobject-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #22 0x06a0b589 in g_value_set_static_boxed () from /lib/libgobject-2.0.so.0 #23 0x06a0cd9b in g_closure_invoke () from /lib/libgobject-2.0.so.0 #24 0x06a1d8ca in g_signal_chain_from_overridden () from /lib/libgobject-2.0.so.0 #25 0x06a1e957 in g_signal_emit_valist () from /lib/libgobject-2.0.so.0 #26 0x06a1eb19 in g_signal_emit () from /lib/libgobject-2.0.so.0 #27 0x04797df3 in gtk_button_released () from /usr/lib/libgtk-x11-2.0.so.0 #28 0x04797e51 in gtk_button_released () from /usr/lib/libgtk-x11-2.0.so.0 #29 0x07d7881b in Gtk::Widget_Class::button_release_event_callback () from /usr/lib/libgtkmm-2.4.so.1 #30 0x04869650 in gtk_marshal_BOOLEAN__VOID () from /usr/lib/libgtk-x11-2.0.so.0 #31 0x06a0b589 in g_value_set_static_boxed () from /lib/libgobject-2.0.so.0 #32 0x06a0cd9b in g_closure_invoke () from /lib/libgobject-2.0.so.0 #33 0x06a1da83 in g_signal_chain_from_overridden () from /lib/libgobject-2.0.so.0 #34 0x06a1e71f in g_signal_emit_valist () from /lib/libgobject-2.0.so.0 #35 0x06a1eb19 in g_signal_emit () from /lib/libgobject-2.0.so.0 #36 0x0497e408 in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 #37 0x04862a13 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0 #38 0x04863c17 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 #39 0x03f7847a in gdk_add_client_message_filter () from /usr/lib/libgdk-x11-2.0.so.0 #40 0x0737b442 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #41 0x0737e41f in g_main_context_check () from /lib/libglib-2.0.so.0 #42 0x0737e7c9 in g_main_loop_run () from /lib/libglib-2.0.so.0 #43 0x04864094 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #44 0x07cfe047 in Gtk::Main::run_impl () from /usr/lib/libgtkmm-2.4.so.1 ---Type <return> to continue, or q <return> to quit--- #45 0x07cfde32 in Gtk::Main::run () from /usr/lib/libgtkmm-2.4.so.1 #46 0x080775d9 in sp_main_gui (argc=1, argv=0xbfccd474) at main.cpp:660 #47 0x081909b3 in Inkscape::NSApplication::Application::run (this=0xbfccd3b4) at application/application.cpp:117 #48 0x080773bd in main (argc=1, argv=0xbfccd474) at main.cpp:505 (gdb)

Do the following steps to reproduce the crash: - click add when Offset is selected
operating system: Ubuntu Linux 6.10
Tavmjong Bah schrieb:
I see the same problem with a crash on adding an Offset: Here's the backtrace.
Tav
[Thread debugging using libthread_db enabled] [New Thread -1208961312 (LWP 6359)]
(inkscape:6359): GLib-CRITICAL **: g_ascii_strtod: assertion `nptr != NULL' failed
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1208961312 (LWP 6359)] 0x0817e12b in sp_feOffset_read_number (value=0x0) at sp-feoffset.cpp:116 116 if (*end) { (gdb) bt #0 0x0817e12b in sp_feOffset_read_number (value=0x0) at sp-feoffset.cpp:116 #1 0x0817e1c7 in sp_feOffset_set (object=0xa7656d0, key=101, value=0x0) at sp-feoffset.cpp:135 #2 0x080bff2f in sp_object_read_attr (object=0xa7656d0, key=0x849e9dd "dx") at sp-object.cpp:1060 #3 0x0817e0f9 in sp_feOffset_build (object=0xa7656d0, document=0xa121fa0, repr=0xad648f0) at sp-feoffset.cpp:98 #4 0x080c0243 in sp_object_invoke_build (object=0xa7656d0, document=0xa121fa0, repr=0xad648f0, cloned=0) at sp-object.cpp:853 #5 0x080c23de in sp_object_child_added (object=0xbfc6038, child=0xad648f0, ref=0x0) at sp-object.cpp:710 #6 0x080a19f9 in sp_filter_child_added (object=0xbfc6038, child=0x0, ref=0x0) at sp-filter.cpp:384 #7 0x08468f22 in Inkscape::XML::CompositeNodeObserver::notifyChildAdded (this=0xad64930, node=@0xad64970, child=@0xad648f0, prev=0x0) at xml/composite-node-observer.cpp:32 #8 0x08118894 in Inkscape::XML::SimpleNode::addChild (this=0xad64900, child=0xad648f0, ref=0x0) at xml/simple-node.cpp:399 #9 0x0811aa3f in Inkscape::XML::SimpleNode::appendChild (this=0xad64900, child=0xad648f0) at ./xml/simple-node.h:68 #10 0x08481072 in filter_add_primitive (filter=0xbfc6038, type=0x9faf0ac "svg:feOffset") at filter-chemistry.cpp:124 #11 0x081c0483 in Inkscape::UI::Dialog::FilterEffectsDialog::add_primitive (this=0xbfe24c0) at ui/dialog/filter-effects-dialog.cpp:830 #12 0x0063e57a in Glib::SignalProxyNormal::slot0_void_callback () from /usr/lib/libglibmm-2.4.so.1 #13 0x06a1a0f9 in g_cclosure_marshal_VOID__VOID () from /lib/libgobject-2.0.so.0 #14 0x06a0cd9b in g_closure_invoke () from /lib/libgobject-2.0.so.0 #15 0x06a1d721 in g_signal_chain_from_overridden () from /lib/libgobject-2.0.so.0 #16 0x06a1e957 in g_signal_emit_valist () from /lib/libgobject-2.0.so.0 #17 0x06a1eb19 in g_signal_emit () from /lib/libgobject-2.0.so.0 #18 0x04797d63 in gtk_button_clicked () from /usr/lib/libgtk-x11-2.0.so.0 #19 0x047999ce in gtk_button_set_alignment () from /usr/lib/libgtk-x11-2.0.so.0 #20 0x07cb7e54 in Gtk::Button_Class::released_callback () from /usr/lib/libgtkmm-2.4.so.1 #21 0x06a1a0f9 in g_cclosure_marshal_VOID__VOID () from /lib/libgobject-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #22 0x06a0b589 in g_value_set_static_boxed () from /lib/libgobject-2.0.so.0 #23 0x06a0cd9b in g_closure_invoke () from /lib/libgobject-2.0.so.0 #24 0x06a1d8ca in g_signal_chain_from_overridden () from /lib/libgobject-2.0.so.0 #25 0x06a1e957 in g_signal_emit_valist () from /lib/libgobject-2.0.so.0 #26 0x06a1eb19 in g_signal_emit () from /lib/libgobject-2.0.so.0 #27 0x04797df3 in gtk_button_released () from /usr/lib/libgtk-x11-2.0.so.0 #28 0x04797e51 in gtk_button_released () from /usr/lib/libgtk-x11-2.0.so.0 #29 0x07d7881b in Gtk::Widget_Class::button_release_event_callback () from /usr/lib/libgtkmm-2.4.so.1 #30 0x04869650 in gtk_marshal_BOOLEAN__VOID () from /usr/lib/libgtk-x11-2.0.so.0 #31 0x06a0b589 in g_value_set_static_boxed () from /lib/libgobject-2.0.so.0 #32 0x06a0cd9b in g_closure_invoke () from /lib/libgobject-2.0.so.0 #33 0x06a1da83 in g_signal_chain_from_overridden () from /lib/libgobject-2.0.so.0 #34 0x06a1e71f in g_signal_emit_valist () from /lib/libgobject-2.0.so.0 #35 0x06a1eb19 in g_signal_emit () from /lib/libgobject-2.0.so.0 #36 0x0497e408 in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 #37 0x04862a13 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0 #38 0x04863c17 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 #39 0x03f7847a in gdk_add_client_message_filter () from /usr/lib/libgdk-x11-2.0.so.0 #40 0x0737b442 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #41 0x0737e41f in g_main_context_check () from /lib/libglib-2.0.so.0 #42 0x0737e7c9 in g_main_loop_run () from /lib/libglib-2.0.so.0 #43 0x04864094 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #44 0x07cfe047 in Gtk::Main::run_impl () from /usr/lib/libgtkmm-2.4.so.1 ---Type <return> to continue, or q <return> to quit--- #45 0x07cfde32 in Gtk::Main::run () from /usr/lib/libgtkmm-2.4.so.1 #46 0x080775d9 in sp_main_gui (argc=1, argv=0xbfccd474) at main.cpp:660 #47 0x081909b3 in Inkscape::NSApplication::Application::run (this=0xbfccd3b4) at application/application.cpp:117 #48 0x080773bd in main (argc=1, argv=0xbfccd474) at main.cpp:505 (gdb)
This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel

Sat, 14 Jul 2007 10:34:37 +0200 Florian Köberle <FloriansKarten@...128...> kirjoitti:
Do the following steps to reproduce the crash:
- click add when Offset is selected
operating system: Ubuntu Linux 6.10
OK, fixed in SVN. Forgot to check, if dx and dy were actually defined before trying to convert them to floating point numbers...
participants (5)
-
Florian Köberle
-
Joshua A. Andler
-
Nicholas Bishop
-
Niko Kiirala
-
Tavmjong Bah