Re: [Lazarus] [OT] About licences
On 13/04/2011 08:38, t.wieckow...@gmail.com wrote: I'm wondering about one thing, Can I do (at all) application with closed source, by Linux ? I ask because I saw what dependencies the empty project have: linux-vdso.so.1 = (0x7cdff000) ...[snip lots of dependencies]... Yes of course, but in the case of desktop applications, as you have realized, there is a huge dependency list. This is the negative aspect of using the larger libraries like Qt, GTK etc... At some point you application will stop working because a standard install of whatever Linux distro might not supply the correct dependencies out of the box. Alternatively, make sure you use a toolkit that has *much less dependencies*. This is exactly why I started the fpGUI Toolkit project. Our applications are very lite when it comes to dependencies, so have a greater chance of still running many years from now. Even the reverse is possible, we can run todays application on a ten year old Linux distro without problems too (we actually tested this, using Suse 8 Suse 9). Compare a default fpGUI application dependencies against what you posted. This dependency can be further reduced by switching to non anti-aliased fonts - but that just makes applications look ugly. :) $ ldd project1 linux-vdso.so.1 libX11.so.6 = /usr/lib64/libX11.so.6 libXft.so.2 = /usr/lib64/libXft.so.2 libc.so.6 = /lib64/libc.so.6 libfontconfig.so.1 = /usr/lib64/libfontconfig.so.1 libxcb.so.1 = /usr/lib64/libxcb.so.1 libdl.so.2 = /lib64/libdl.so.2 libgcc_s.so.1 = /lib64/libgcc_s.so.1 libfreetype.so.6 = /usr/lib64/freetype.../libfreetype.so.6 libXrender.so.1 = /usr/lib64/libXrender.so.1 /lib64/ld-linux-x86-64.so.2 libexpat.so.1 = /lib64/libexpat.so.1 libXau.so.6 = /usr/lib64/libXau.so.6 Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] [OT] About licences
On 13/04/2011 08:38, t.wieckow...@gmail.com wrote: I'm wondering about one thing, Can I do (at all) application with closed source, by Linux ? I ask because I saw what dependencies the empty project have: Interpreting your email slightly different to my previous reply. The answer is again yes, you can create commercial closed-source apps for Linux. Those dependencies you listed, are runtime dependencies, and not staticly linked into your application. So the LGPL license allows you to keep your application source code closed-sourced. This is exactly why LGPL was created - giving you the freedom to use various LGPL licensed libraries with ease, even in closed-source apps. Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] Lazarus GTK project dependencies
Hi, due to some other topic discussed on the mailing list, I thought I'd check the dependencies of a simple lazarus project. The result is shown below. I did this similar exercise a year or two ago, and the result has more than tripled ! I wonder, why all these dependencies ?? I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion, libdirect (to name but a few), why do I need those ? Besides making it more difficult to run a binary on another PC, I hate to think what this does to the startup time of a binary. At some time, the KDE project tried to reduce startup time of their binaries by redefining their APIs so shared libs would load faster. Looking at the below list, I think it is high time that Lazarus does the same. If this means that some GTK import units must be split up in pieces, then I'll be glad to take this task on me. Michael. Simple Lazarus app (GTK2) dependencies: linux-vdso.so.1 = (0x7fff6b231000) libpthread.so.0 = /lib/libpthread.so.0 (0x7fed28a87000) libdl.so.2 = /lib/libdl.so.2 (0x7fed28883000) libX11.so.6 = /usr/lib/libX11.so.6 (0x7fed2854c000) libgdk_pixbuf-2.0.so.0 = /usr/lib/libgdk_pixbuf-2.0.so.0 (0x7fed2833) libgtk-x11-2.0.so.0 = /usr/lib/libgtk-x11-2.0.so.0 (0x7fed27d0e000) libgdk-x11-2.0.so.0 = /usr/lib/libgdk-x11-2.0.so.0 (0x7fed27a6) libgobject-2.0.so.0 = /usr/lib/libgobject-2.0.so.0 (0x7fed27818000) libglib-2.0.so.0 = /lib/libglib-2.0.so.0 (0x7fed2753a000) libgthread-2.0.so.0 = /usr/lib/libgthread-2.0.so.0 (0x7fed27334000) libgmodule-2.0.so.0 = /usr/lib/libgmodule-2.0.so.0 (0x7fed2713) libpango-1.0.so.0 = /usr/lib/libpango-1.0.so.0 (0x7fed26ee6000) libatk-1.0.so.0 = /usr/lib/libatk-1.0.so.0 (0x7fed26cc4000) libcairo.so.2 = /usr/lib/libcairo.so.2 (0x7fed26a41000) libc.so.6 = /lib/libc.so.6 (0x7fed266be000) /lib64/ld-linux-x86-64.so.2 (0x7fed28cc8000) libxcb.so.1 = /usr/lib/libxcb.so.1 (0x7fed264a1000) libgio-2.0.so.0 = /usr/lib/libgio-2.0.so.0 (0x7fed261ee000) librt.so.1 = /lib/librt.so.1 (0x7fed25fe6000) libm.so.6 = /lib/libm.so.6 (0x7fed25d62000) libXext.so.6 = /usr/lib/libXext.so.6 (0x7fed25b5) libXrender.so.1 = /usr/lib/libXrender.so.1 (0x7fed25946000) libXinerama.so.1 = /usr/lib/libXinerama.so.1 (0x7fed25742000) libXi.so.6 = /usr/lib/libXi.so.6 (0x7fed25532000) libXrandr.so.2 = /usr/lib/libXrandr.so.2 (0x7fed25329000) libXcursor.so.1 = /usr/lib/libXcursor.so.1 (0x7fed2511e000) libpangocairo-1.0.so.0 = /usr/lib/libpangocairo-1.0.so.0 (0x7fed24f11000) libXcomposite.so.1 = /usr/lib/libXcomposite.so.1 (0x7fed24d0e000) libXdamage.so.1 = /usr/lib/libXdamage.so.1 (0x7fed24b0a000) libXfixes.so.3 = /usr/lib/libXfixes.so.3 (0x7fed24904000) libpangoft2-1.0.so.0 = /usr/lib/libpangoft2-1.0.so.0 (0x7fed246da000) libfreetype.so.6 = /usr/lib/libfreetype.so.6 (0x7fed24453000) libz.so.1 = /lib/libz.so.1 (0x7fed2423c000) libfontconfig.so.1 = /usr/lib/libfontconfig.so.1 (0x7fed24007000) libpcre.so.3 = /lib/libpcre.so.3 (0x7fed23dd8000) libpixman-1.so.0 = /usr/lib/libpixman-1.so.0 (0x7fed23b7f000) libdirectfb-1.2.so.0 = /usr/lib/libdirectfb-1.2.so.0 (0x7fed238fb000) libfusion-1.2.so.0 = /usr/lib/libfusion-1.2.so.0 (0x7fed236f1000) libdirect-1.2.so.0 = /usr/lib/libdirect-1.2.so.0 (0x7fed234d8000) libpng12.so.0 = /lib/libpng12.so.0 (0x7fed232b) libxcb-render-util.so.0 = /usr/lib/libxcb-render-util.so.0 (0x7fed230ac000) libxcb-render.so.0 = /usr/lib/libxcb-render.so.0 (0x7fed22ea3000) libXau.so.6 = /usr/lib/libXau.so.6 (0x7fed22c9e000) libXdmcp.so.6 = /usr/lib/libXdmcp.so.6 (0x7fed22a98000) libresolv.so.2 = /lib/libresolv.so.2 (0x7fed2287f000) libselinux.so.1 = /lib/libselinux.so.1 (0x7fed2266) libexpat.so.1 = /lib/libexpat.so.1 (0x7fed22437000) -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus GTK project dependencies
On Thu, 14 Apr 2011 09:33:03 +0200 (CEST) Michael Van Canneyt mich...@freepascal.org wrote: Hi, due to some other topic discussed on the mailing list, I thought I'd check the dependencies of a simple lazarus project. The result is shown below. I did this similar exercise a year or two ago, and the result has more than tripled ! I wonder, why all these dependencies ?? I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion, libdirect (to name but a few), why do I need those ? These are used by the gtk2 libs and vary by system. For example on ubuntu 64bit there is no libfusion, libdirectfb, libdirect. You can check yourself: ldd /usr/lib/libgtk-x11-2.0.so.0 So, any gtk2 program uses them. Besides making it more difficult to run a binary on another PC, I hate to think what this does to the startup time of a binary. If there is already another gtk program running the libs are already loaded. At some time, the KDE project tried to reduce startup time of their binaries by redefining their APIs so shared libs would load faster. Looking at the below list, I think it is high time that Lazarus does the same. If this means that some GTK import units must be split up in pieces, then I'll be glad to take this task on me. Michael. Simple Lazarus app (GTK2) dependencies: linux-vdso.so.1 = (0x7fff6b231000) libpthread.so.0 = /lib/libpthread.so.0 (0x7fed28a87000) libdl.so.2 = /lib/libdl.so.2 (0x7fed28883000) libX11.so.6 = /usr/lib/libX11.so.6 (0x7fed2854c000) libgdk_pixbuf-2.0.so.0 = /usr/lib/libgdk_pixbuf-2.0.so.0 (0x7fed2833) libgtk-x11-2.0.so.0 = /usr/lib/libgtk-x11-2.0.so.0 (0x7fed27d0e000) libgdk-x11-2.0.so.0 = /usr/lib/libgdk-x11-2.0.so.0 (0x7fed27a6) libgobject-2.0.so.0 = /usr/lib/libgobject-2.0.so.0 (0x7fed27818000) libglib-2.0.so.0 = /lib/libglib-2.0.so.0 (0x7fed2753a000) libgthread-2.0.so.0 = /usr/lib/libgthread-2.0.so.0 (0x7fed27334000) libgmodule-2.0.so.0 = /usr/lib/libgmodule-2.0.so.0 (0x7fed2713) libpango-1.0.so.0 = /usr/lib/libpango-1.0.so.0 (0x7fed26ee6000) libatk-1.0.so.0 = /usr/lib/libatk-1.0.so.0 (0x7fed26cc4000) libcairo.so.2 = /usr/lib/libcairo.so.2 (0x7fed26a41000) libc.so.6 = /lib/libc.so.6 (0x7fed266be000) /lib64/ld-linux-x86-64.so.2 (0x7fed28cc8000) libxcb.so.1 = /usr/lib/libxcb.so.1 (0x7fed264a1000) libgio-2.0.so.0 = /usr/lib/libgio-2.0.so.0 (0x7fed261ee000) librt.so.1 = /lib/librt.so.1 (0x7fed25fe6000) libm.so.6 = /lib/libm.so.6 (0x7fed25d62000) libXext.so.6 = /usr/lib/libXext.so.6 (0x7fed25b5) libXrender.so.1 = /usr/lib/libXrender.so.1 (0x7fed25946000) libXinerama.so.1 = /usr/lib/libXinerama.so.1 (0x7fed25742000) libXi.so.6 = /usr/lib/libXi.so.6 (0x7fed25532000) libXrandr.so.2 = /usr/lib/libXrandr.so.2 (0x7fed25329000) libXcursor.so.1 = /usr/lib/libXcursor.so.1 (0x7fed2511e000) libpangocairo-1.0.so.0 = /usr/lib/libpangocairo-1.0.so.0 (0x7fed24f11000) libXcomposite.so.1 = /usr/lib/libXcomposite.so.1 (0x7fed24d0e000) libXdamage.so.1 = /usr/lib/libXdamage.so.1 (0x7fed24b0a000) libXfixes.so.3 = /usr/lib/libXfixes.so.3 (0x7fed24904000) libpangoft2-1.0.so.0 = /usr/lib/libpangoft2-1.0.so.0 (0x7fed246da000) libfreetype.so.6 = /usr/lib/libfreetype.so.6 (0x7fed24453000) libz.so.1 = /lib/libz.so.1 (0x7fed2423c000) libfontconfig.so.1 = /usr/lib/libfontconfig.so.1 (0x7fed24007000) libpcre.so.3 = /lib/libpcre.so.3 (0x7fed23dd8000) libpixman-1.so.0 = /usr/lib/libpixman-1.so.0 (0x7fed23b7f000) libdirectfb-1.2.so.0 = /usr/lib/libdirectfb-1.2.so.0 (0x7fed238fb000) libfusion-1.2.so.0 = /usr/lib/libfusion-1.2.so.0 (0x7fed236f1000) libdirect-1.2.so.0 = /usr/lib/libdirect-1.2.so.0 (0x7fed234d8000) libpng12.so.0 = /lib/libpng12.so.0 (0x7fed232b) libxcb-render-util.so.0 = /usr/lib/libxcb-render-util.so.0 (0x7fed230ac000) libxcb-render.so.0 = /usr/lib/libxcb-render.so.0 (0x7fed22ea3000) libXau.so.6 = /usr/lib/libXau.so.6 (0x7fed22c9e000) libXdmcp.so.6 = /usr/lib/libXdmcp.so.6 (0x7fed22a98000) libresolv.so.2 = /lib/libresolv.so.2 (0x7fed2287f000) libselinux.so.1 = /lib/libselinux.so.1 (0x7fed2266) libexpat.so.1 = /lib/libexpat.so.1 (0x7fed22437000) If you find one that can be omitted please tell. Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org
Re: [Lazarus] Lazarus GTK project dependencies
On Thu, 14 Apr 2011, zeljko wrote: On Thursday 14 of April 2011 09:33:03 Michael Van Canneyt wrote: Hi, due to some other topic discussed on the mailing list, I thought I'd check the dependencies of a simple lazarus project. The result is shown below. I did this similar exercise a year or two ago, and the result has more than tripled ! I wonder, why all these dependencies ?? I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion, libdirect (to name but a few), why do I need those ? You don't but gtk does (or cairo or some xlib). Hm. I did a quick check: fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | wc -l 44 fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | wc -l 31 So Qt needs 31 libs, GTK uses 44. Many of the extra ones related to direct framebuffer access, which is total nonsense in a X environment. Well, this reminds me why I use KDE and not Gnome. How complete/stable is the Qt version of the LCL, and what version of Qt is needed ? Michael. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus GTK project dependencies
I'll comment on libraries that might not be clear: Am 14.04.2011 09:33, schrieb Michael Van Canneyt: Simple Lazarus app (GTK2) dependencies: linux-vdso.so.1 = (0x7fff6b231000) libpthread.so.0 = /lib/libpthread.so.0 (0x7fed28a87000) libdl.so.2 = /lib/libdl.so.2 (0x7fed28883000) libX11.so.6 = /usr/lib/libX11.so.6 (0x7fed2854c000) libgdk_pixbuf-2.0.so.0 = /usr/lib/libgdk_pixbuf-2.0.so.0 (0x7fed2833) libgtk-x11-2.0.so.0 = /usr/lib/libgtk-x11-2.0.so.0 (0x7fed27d0e000) libgdk-x11-2.0.so.0 = /usr/lib/libgdk-x11-2.0.so.0 (0x7fed27a6) libgobject-2.0.so.0 = /usr/lib/libgobject-2.0.so.0 (0x7fed27818000) libglib-2.0.so.0 = /lib/libglib-2.0.so.0 (0x7fed2753a000) libgthread-2.0.so.0 = /usr/lib/libgthread-2.0.so.0 (0x7fed27334000) libgmodule-2.0.so.0 = /usr/lib/libgmodule-2.0.so.0 (0x7fed2713) libpango-1.0.so.0 = /usr/lib/libpango-1.0.so.0 (0x7fed26ee6000) libatk-1.0.so.0 = /usr/lib/libatk-1.0.so.0 (0x7fed26cc4000) libcairo.so.2 = /usr/lib/libcairo.so.2 (0x7fed26a41000) These three are needed by GTK. Pango is (basically) the font backend, Cairo is the drawing backend while ATK is needed to provide accessibility features libc.so.6 = /lib/libc.so.6 (0x7fed266be000) /lib64/ld-linux-x86-64.so.2 (0x7fed28cc8000) libxcb.so.1 = /usr/lib/libxcb.so.1 (0x7fed264a1000) libgio-2.0.so.0 = /usr/lib/libgio-2.0.so.0 (0x7fed261ee000) librt.so.1 = /lib/librt.so.1 (0x7fed25fe6000) libm.so.6 = /lib/libm.so.6 (0x7fed25d62000) libXext.so.6 = /usr/lib/libXext.so.6 (0x7fed25b5) libXrender.so.1 = /usr/lib/libXrender.so.1 (0x7fed25946000) libXinerama.so.1 = /usr/lib/libXinerama.so.1 (0x7fed25742000) libXi.so.6 = /usr/lib/libXi.so.6 (0x7fed25532000) libXrandr.so.2 = /usr/lib/libXrandr.so.2 (0x7fed25329000) libXcursor.so.1 = /usr/lib/libXcursor.so.1 (0x7fed2511e000) libpangocairo-1.0.so.0 = /usr/lib/libpangocairo-1.0.so.0 (0x7fed24f11000) Pango uses Cairo as a backend as well. libXcomposite.so.1 = /usr/lib/libXcomposite.so.1 (0x7fed24d0e000) libXdamage.so.1 = /usr/lib/libXdamage.so.1 (0x7fed24b0a000) libXfixes.so.3 = /usr/lib/libXfixes.so.3 (0x7fed24904000) libpangoft2-1.0.so.0 = /usr/lib/libpangoft2-1.0.so.0 (0x7fed246da000) Pango uses FreeType to retrieve font informations (see next library). libfreetype.so.6 = /usr/lib/libfreetype.so.6 (0x7fed24453000) libz.so.1 = /lib/libz.so.1 (0x7fed2423c000) libfontconfig.so.1 = /usr/lib/libfontconfig.so.1 (0x7fed24007000) This is needed to look for fonts installed in the system. libpcre.so.3 = /lib/libpcre.so.3 (0x7fed23dd8000) Needed by glib2. libpixman-1.so.0 = /usr/lib/libpixman-1.so.0 (0x7fed23b7f000) Lowlevel graphic operations, needed by cairo (can be compiled statically as well) libdirectfb-1.2.so.0 = /usr/lib/libdirectfb-1.2.so.0 (0x7fed238fb000) Seems that direct FrameBuffer rendering was enabled for GTK or Cairo... so normally not needed. libfusion-1.2.so.0 = /usr/lib/libfusion-1.2.so.0 (0x7fed236f1000) libdirect-1.2.so.0 = /usr/lib/libdirect-1.2.so.0 (0x7fed234d8000) I don't know about these two. libpng12.so.0 = /lib/libpng12.so.0 (0x7fed232b) This is needed by Cairo. libxcb-render-util.so.0 = /usr/lib/libxcb-render-util.so.0 (0x7fed230ac000) libxcb-render.so.0 = /usr/lib/libxcb-render.so.0 (0x7fed22ea3000) libXau.so.6 = /usr/lib/libXau.so.6 (0x7fed22c9e000) libXdmcp.so.6 = /usr/lib/libXdmcp.so.6 (0x7fed22a98000) libresolv.so.2 = /lib/libresolv.so.2 (0x7fed2287f000) libselinux.so.1 = /lib/libselinux.so.1 (0x7fed2266) I don't know why this one is in there libexpat.so.1 = /lib/libexpat.so.1 (0x7fed22437000) This is a XML library and used by fontconfig. Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus GTK project dependencies
On Thu, 14 Apr 2011 09:47:57 +0200 (CEST) michael.vancann...@wisa.be wrote: On Thu, 14 Apr 2011, zeljko wrote: On Thursday 14 of April 2011 09:33:03 Michael Van Canneyt wrote: Hi, due to some other topic discussed on the mailing list, I thought I'd check the dependencies of a simple lazarus project. The result is shown below. I did this similar exercise a year or two ago, and the result has more than tripled ! I wonder, why all these dependencies ?? I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion, libdirect (to name but a few), why do I need those ? You don't but gtk does (or cairo or some xlib). Hm. I did a quick check: fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | wc -l 44 fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | wc -l 31 So Qt needs 31 libs, GTK uses 44. Many of the extra ones related to direct framebuffer access, which is total nonsense in a X environment. The gnome projects likes to split libs in smaller modules. The number of libs is not that important. The size is more important: A gtk2 program: ldd testgtk2 | cut -d' ' -f 3 | grep lib | xargs cat | wc -c 14932491 A qt program: ldd testqt | cut -d' ' -f 3 | grep lib | xargs cat | wc -c 53583219 So Qt uses about 50MB, GTK uses 15MB. Well, this reminds me why I use KDE and not Gnome. How complete/stable is the Qt version of the LCL, and what version of Qt is needed ? It is quite stable. It works well under KDE, not so well under Gnome. But this is not the fault of the LCL qt interface, but of QT. Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus GTK project dependencies
On Thursday 14 of April 2011 09:56:47 Mattias Gaertner wrote: It is quite stable. It works well under KDE, not so well under Gnome. But this is not the fault of the LCL qt interface, but of QT. What's not so well under Gnome ? I guess that you have problem with metacity behaviour (or maybe with compiz, but gtk2 also have big trouble with it). Here it works ok under KDE, Xfce, WindowMaker,IceWM. zeljko -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus GTK project dependencies
On Thu, 14 Apr 2011, Mattias Gaertner wrote: On Thu, 14 Apr 2011 09:47:57 +0200 (CEST) michael.vancann...@wisa.be wrote: On Thu, 14 Apr 2011, zeljko wrote: On Thursday 14 of April 2011 09:33:03 Michael Van Canneyt wrote: Hi, due to some other topic discussed on the mailing list, I thought I'd check the dependencies of a simple lazarus project. The result is shown below. I did this similar exercise a year or two ago, and the result has more than tripled ! I wonder, why all these dependencies ?? I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion, libdirect (to name but a few), why do I need those ? You don't but gtk does (or cairo or some xlib). Hm. I did a quick check: fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | wc -l 44 fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | wc -l 31 So Qt needs 31 libs, GTK uses 44. Many of the extra ones related to direct framebuffer access, which is total nonsense in a X environment. The gnome projects likes to split libs in smaller modules. The number of libs is not that important. The size is more important: A gtk2 program: ldd testgtk2 | cut -d' ' -f 3 | grep lib | xargs cat | wc -c 14932491 A qt program: ldd testqt | cut -d' ' -f 3 | grep lib | xargs cat | wc -c 53583219 So Qt uses about 50MB, GTK uses 15MB. I get quite a different count: fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | cut -d' ' -f 3 | xargs cat | wc -c 7172681 fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c 9804745 7 vs. 9 Mb. Just for the Qt/Gtk library. And that only size matters is not quite correct: for each library the number of symbols in the libraries must be resolved. The more libraries must be resolved, the more work there is for the linker. That was the main issue in KDE: to reduce the number of symbols to be resolved. This meant, less libraries. Michael. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus GTK project dependencies
In our previous episode, Michael Van Canneyt said: At some time, the KDE project tried to reduce startup time of their binaries by redefining their APIs so shared libs would load faster. I thought the KDE problem was that their shared libs interfaced at the C++ level, exporting huge amounts of symbols per lib? (something that we would get too with packages btw) -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Metafile support
On Thu, Apr 14, 2011 at 12:14 AM, Hans-Peter Diettrich drdiettri...@aol.com wrote: Rendering text in WMF files requires to remember the last specified font, that applies to all subsequent output. For other metafile formats it may be desireable to check given font parameters, and to reuse an previously specified font. I still see no problem. We can simply start with a default font and then pass the entire file calculating the resulting font for each object/draw operation and store that font in it's data. Consider the following Metafile: SetFontWidth(X); DrawArc(); SetFontColor(Y); DrawCircle; In my representation it is: Arc with FontWidth=X and FontColor=default Circle with FontWidth=X and FontColor=Y The way that the data is represented is different, but the screen output will be the same. But now I follow up what you mean: Yes, my data model is different from the Metafile data model, but it is equivalent. Surely fpvectorial could be changed to use the Metafile data model internally, but this also has drawbacks for other formats. -- Felipe Monteiro de Carvalho -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus GTK project dependencies
Am 14.04.2011 10:17, schrieb michael.vancann...@wisa.be: On Thu, 14 Apr 2011, Mattias Gaertner wrote: On Thu, 14 Apr 2011 09:47:57 +0200 (CEST) michael.vancann...@wisa.be wrote: On Thu, 14 Apr 2011, zeljko wrote: On Thursday 14 of April 2011 09:33:03 Michael Van Canneyt wrote: Hi, due to some other topic discussed on the mailing list, I thought I'd check the dependencies of a simple lazarus project. The result is shown below. I did this similar exercise a year or two ago, and the result has more than tripled ! I wonder, why all these dependencies ?? I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion, libdirect (to name but a few), why do I need those ? You don't but gtk does (or cairo or some xlib). Hm. I did a quick check: fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | wc -l 44 fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | wc -l 31 So Qt needs 31 libs, GTK uses 44. Many of the extra ones related to direct framebuffer access, which is total nonsense in a X environment. The gnome projects likes to split libs in smaller modules. The number of libs is not that important. The size is more important: A gtk2 program: ldd testgtk2 | cut -d' ' -f 3 | grep lib | xargs cat | wc -c 14932491 A qt program: ldd testqt | cut -d' ' -f 3 | grep lib | xargs cat | wc -c 53583219 So Qt uses about 50MB, GTK uses 15MB. I get quite a different count: fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | cut -d' ' -f 3 | xargs cat | wc -c 7172681 fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c 9804745 7 vs. 9 Mb. Just for the Qt/Gtk library. But libgdk does not contain all dependencies that a GTK application needs (can't comment on QT though). And that only size matters is not quite correct: for each library the number of symbols in the libraries must be resolved. The more libraries must be resolved, the more work there is for the linker. That was the main issue in KDE: to reduce the number of symbols to be resolved. This meant, less libraries. Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus GTK project dependencies
On Thu, 14 Apr 2011, Sven Barth wrote: Am 14.04.2011 10:17, schrieb michael.vancann...@wisa.be: On Thu, 14 Apr 2011, Mattias Gaertner wrote: On Thu, 14 Apr 2011 09:47:57 +0200 (CEST) michael.vancann...@wisa.be wrote: On Thu, 14 Apr 2011, zeljko wrote: On Thursday 14 of April 2011 09:33:03 Michael Van Canneyt wrote: Hi, due to some other topic discussed on the mailing list, I thought I'd check the dependencies of a simple lazarus project. The result is shown below. I did this similar exercise a year or two ago, and the result has more than tripled ! I wonder, why all these dependencies ?? I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion, libdirect (to name but a few), why do I need those ? You don't but gtk does (or cairo or some xlib). Hm. I did a quick check: fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | wc -l 44 fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | wc -l 31 So Qt needs 31 libs, GTK uses 44. Many of the extra ones related to direct framebuffer access, which is total nonsense in a X environment. The gnome projects likes to split libs in smaller modules. The number of libs is not that important. The size is more important: A gtk2 program: ldd testgtk2 | cut -d' ' -f 3 | grep lib | xargs cat | wc -c 14932491 A qt program: ldd testqt | cut -d' ' -f 3 | grep lib | xargs cat | wc -c 53583219 So Qt uses about 50MB, GTK uses 15MB. I get quite a different count: fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | cut -d' ' -f 3 | xargs cat | wc -c 7172681 fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c 9804745 7 vs. 9 Mb. Just for the Qt/Gtk library. But libgdk does not contain all dependencies that a GTK application needs (can't comment on QT though). Indeed. for GTK, the problem is bigger: fsb: ldd /usr/lib/libgtk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c 10646417 It needs 10Mb, more than the Qt lib. And I checked: the LCL app loads exactly the same list of libraries as the GTK lib itself. I don't have an LCL Qt app to compare with. Michael. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Metafile support
On Thu, Apr 14, 2011 at 10:48 AM, Felipe Monteiro de Carvalho felipemonteiro.carva...@gmail.com wrote: Surely fpvectorial could be changed to use the Metafile data model internally, but this also has drawbacks for other formats. Actually I am quite divided about which is the best model to use =) Metafile is faster to draw The list of Entities is easier to manipulate, because each entity can be modified independently. -- Felipe Monteiro de Carvalho -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus GTK project dependencies
On Thu, Apr 14, 2011 at 11:14 AM, michael.vancann...@wisa.be wrote: fsb: ldd /usr/lib/libgtk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c 10646417 And I checked: the LCL app loads exactly the same list of libraries as the GTK lib itself. I don't have an LCL Qt app to compare with. You forgot to count libgtk-x11-2.0.so ldd on gtk-x11 does not count gtk-x11 itself Another difference for me was: libgthread-2.0.so.0 = /usr/lib/libgthread-2.0.so.0 (0xb7004000) It needs 10Mb, more than the Qt lib. No way, why do you think that /usr/lib/libqt-mt uses all Qt libs? In fact it uses *zero* other Qt libs =D Here is what an LCL-Qt app uses: [felipe@localhost httpclient]$ ldd readhttpheaders linux-gate.so.1 = (0xe000) libQt4Pas.so.5 = /usr/lib/libQt4Pas.so.5 (0xb7602000) libX11.so.6 = /usr/lib/libX11.so.6 (0xb74d) libdl.so.2 = /lib/libdl.so.2 (0xb74cc000) libc.so.6 = /lib/i686/libc.so.6 (0xb737a000) libQtWebKit.so.4 = /usr/lib/libQtWebKit.so.4 (0xb630b000) libQtGui.so.4 = /usr/lib/libQtGui.so.4 (0xb588) libQtNetwork.so.4 = /usr/lib/libQtNetwork.so.4 (0xb5759000) libQtCore.so.4 = /usr/lib/libQtCore.so.4 (0xb54d8000) libstdc++.so.6 = /usr/lib/libstdc++.so.6 (0xb53e7000) libgcc_s.so.1 = /lib/libgcc_s.so.1 (0xb53c9000) libxcb.so.1 = /usr/lib/libxcb.so.1 (0xb53a9000) /lib/ld-linux.so.2 (0xb7829000) libsqlite3.so.0 = /usr/lib/libsqlite3.so.0 (0xb5305000) libphonon.so.4 = /usr/lib/libphonon.so.4 (0xb52a8000) libQtXmlPatterns.so.4 = /usr/lib/libQtXmlPatterns.so.4 (0xb4e8e000) libpthread.so.0 = /lib/i686/libpthread.so.0 (0xb4e76000) libXrender.so.1 = /usr/lib/libXrender.so.1 (0xb4e6b000) libm.so.6 = /lib/i686/libm.so.6 (0xb4e45000) libglib-2.0.so.0 = /usr/lib/libglib-2.0.so.0 (0xb4d6b000) libpng12.so.0 = /usr/lib/libpng12.so.0 (0xb4d24000) libz.so.1 = /lib/libz.so.1 (0xb4d11000) -- Felipe Monteiro de Carvalho -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus GTK project dependencies
Sorry, the list was incomplete. My KDE console has a wierd bug when selecting text =( [felipe@localhost httpclient]$ ldd readhttpheaders linux-gate.so.1 = (0xe000) libQt4Pas.so.5 = /usr/lib/libQt4Pas.so.5 (0xb7602000) libX11.so.6 = /usr/lib/libX11.so.6 (0xb74d) libdl.so.2 = /lib/libdl.so.2 (0xb74cc000) libc.so.6 = /lib/i686/libc.so.6 (0xb737a000) libQtWebKit.so.4 = /usr/lib/libQtWebKit.so.4 (0xb630b000) libQtGui.so.4 = /usr/lib/libQtGui.so.4 (0xb588) libQtNetwork.so.4 = /usr/lib/libQtNetwork.so.4 (0xb5759000) libQtCore.so.4 = /usr/lib/libQtCore.so.4 (0xb54d8000) libstdc++.so.6 = /usr/lib/libstdc++.so.6 (0xb53e7000) libgcc_s.so.1 = /lib/libgcc_s.so.1 (0xb53c9000) libxcb.so.1 = /usr/lib/libxcb.so.1 (0xb53a9000) /lib/ld-linux.so.2 (0xb7829000) libsqlite3.so.0 = /usr/lib/libsqlite3.so.0 (0xb5305000) libphonon.so.4 = /usr/lib/libphonon.so.4 (0xb52a8000) libQtXmlPatterns.so.4 = /usr/lib/libQtXmlPatterns.so.4 (0xb4e8e000) libpthread.so.0 = /lib/i686/libpthread.so.0 (0xb4e76000) libXrender.so.1 = /usr/lib/libXrender.so.1 (0xb4e6b000) libm.so.6 = /lib/i686/libm.so.6 (0xb4e45000) libglib-2.0.so.0 = /usr/lib/libglib-2.0.so.0 (0xb4d6b000) libpng12.so.0 = /usr/lib/libpng12.so.0 (0xb4d24000) libz.so.1 = /lib/libz.so.1 (0xb4d11000) libfreetype.so.6 = /usr/lib/libfreetype.so.6 (0xb4c8c000) libgobject-2.0.so.0 = /usr/lib/libgobject-2.0.so.0 (0xb4c48000) libSM.so.6 = /usr/lib/libSM.so.6 (0xb4c3e000) libICE.so.6 = /usr/lib/libICE.so.6 (0xb4c24000) libfontconfig.so.1 = /usr/lib/libfontconfig.so.1 (0xb4bf) libXext.so.6 = /usr/lib/libXext.so.6 (0xb4bdd000) libgthread-2.0.so.0 = /usr/lib/libgthread-2.0.so.0 (0xb4bd7000) librt.so.1 = /lib/i686/librt.so.1 (0xb4bce000) libXau.so.6 = /usr/lib/libXau.so.6 (0xb4bca000) libXdmcp.so.6 = /usr/lib/libXdmcp.so.6 (0xb4bc3000) libpulse.so.0 = /usr/lib/libpulse.so.0 (0xb4b7d000) libpulse-mainloop-glib.so.0 = /usr/lib/libpulse-mainloop-glib.so.0 (0xb4b76000) libQtDBus.so.4 = /usr/lib/libQtDBus.so.4 (0xb4afc000) libpcre.so.0 = /lib/libpcre.so.0 (0xb4ac9000) libxml2.so.2 = /usr/lib/libxml2.so.2 (0xb4988000) libpulsecommon-0.9.21.so = /usr/lib/libpulsecommon-0.9.21.so (0xb4934000) libX11-xcb.so.1 = /usr/lib/libX11-xcb.so.1 (0xb4931000) libXtst.so.6 = /usr/lib/libXtst.so.6 (0xb492a000) libXi.so.6 = /usr/lib/libXi.so.6 (0xb491b000) libxcb-atom.so.1 = /usr/lib/libxcb-atom.so.1 (0xb4916000) libwrap.so.0 = /usr/lib/libwrap.so.0 (0xb490d000) libsndfile.so.1 = /usr/lib/libsndfile.so.1 (0xb489d000) libFLAC.so.8 = /usr/lib/libFLAC.so.8 (0xb486) libvorbisenc.so.2 = /usr/lib/libvorbisenc.so.2 (0xb46e9000) libvorbis.so.0 = /usr/lib/libvorbis.so.0 (0xb46be000) libogg.so.0 = /usr/lib/libogg.so.0 (0xb46b7000) libasyncns.so.0 = /usr/lib/libasyncns.so.0 (0xb46af000) libdbus-1.so.3 = /lib/libdbus-1.so.3 (0xb466c000) libcap.so.2 = /lib/libcap.so.2 (0xb4666000) libQtXml.so.4 = /usr/lib/libQtXml.so.4 (0xb4623000) libnsl.so.1 = /lib/libnsl.so.1 (0xb460c000) libresolv.so.2 = /lib/libresolv.so.2 (0xb45f6000) -- Felipe Monteiro de Carvalho -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus GTK project dependencies
michael.vancann...@wisa.be hat am 14. April 2011 um 10:17 geschrieben: On Thu, 14 Apr 2011, Mattias Gaertner wrote: On Thu, 14 Apr 2011 09:47:57 +0200 (CEST) michael.vancann...@wisa.be wrote: On Thu, 14 Apr 2011, zeljko wrote: On Thursday 14 of April 2011 09:33:03 Michael Van Canneyt wrote: Hi, due to some other topic discussed on the mailing list, I thought I'd check the dependencies of a simple lazarus project. The result is shown below. I did this similar exercise a year or two ago, and the result has more than tripled ! I wonder, why all these dependencies ?? I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion, libdirect (to name but a few), why do I need those ? You don't but gtk does (or cairo or some xlib). Hm. I did a quick check: fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | wc -l 44 fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | wc -l 31 So Qt needs 31 libs, GTK uses 44. Many of the extra ones related to direct framebuffer access, which is total nonsense in a X environment. The gnome projects likes to split libs in smaller modules. The number of libs is not that important. The size is more important: A gtk2 program: ldd testgtk2 | cut -d' ' -f 3 | grep lib | xargs cat | wc -c 14932491 A qt program: ldd testqt | cut -d' ' -f 3 | grep lib | xargs cat | wc -c 53583219 So Qt uses about 50MB, GTK uses 15MB. I get quite a different count: fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | cut -d' ' -f 3 | xargs cat | wc -c 7172681 The libqt-mt library is only one lib of a qt program. fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c 9804745 And so is the libgdk of a gtk program. 7 vs. 9 Mb. Just for the Qt/Gtk library. Please compare whole programs. And that only size matters is not quite correct: for each library the number of symbols in the libraries must be resolved. The more libraries must be resolved, the more work there is for the linker. Since you gave no proof for this statement, I will answer with another unproven: The bigger a library the more code, the more symbols must be resolved. I don't know how to test the library loading time, but here are some timings of minimal gtk2/qt programs: time ./testgtk2 real 0m0.035s user 0m0.028s sys 0m0.004s time ./testqt real 0m0.160s user 0m0.088s sys 0m0.032s That was the main issue in KDE: to reduce the number of symbols to be resolved. This meant, less libraries. I doubt that combining several libs into one accelerates much. Mattias-- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Creating SDK like system
Thank you all for your answers, now I returned the ball to the client to understand better what type of changes they want to be able to do, so I'll know what to design. Ido On Thu, Apr 14, 2011 at 10:47, Michael Schnell mschn...@lumino.de wrote: On 04/13/2011 05:12 PM, ik wrote: I was requested to create a Windows program that can be changed (the interface) using some sort of SDK. I have never created such systems before, and I'm looking to understand how I design something like that in a program written in Lazarus. Lazarus provides a GUI designer. Maybe you can strip-down and modify it according to your needs. The LCL provides lots of elements for the designer to use. Maybe you can select some and modify and enhance them according to your needs. The code of the GUI elements is living as well at design time as at run time to create and draw the elements and visually assign parameters to them. The Lazarus GUI designer creates a resource stream from these visual parameters that is compiled into the target executable. The executable executes the GUI elements' code to have them draw themselves according to the stored parameters. So maybe Lazarus itself is a good starting point. -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus GTK project dependencies
On Thu, 14 Apr 2011, Felipe Monteiro de Carvalho wrote: On Thu, Apr 14, 2011 at 11:14 AM, michael.vancann...@wisa.be wrote: fsb: ldd /usr/lib/libgtk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c 10646417 And I checked: the LCL app loads exactly the same list of libraries as the GTK lib itself. I don't have an LCL Qt app to compare with. You forgot to count libgtk-x11-2.0.so ldd on gtk-x11 does not count gtk-x11 itself I know. But it's not relevant for the list. It was just meant to demonstrate that loading libgtk-x11-2.0.so uses the same set of libs as an LCL app. Another difference for me was: libgthread-2.0.so.0 = /usr/lib/libgthread-2.0.so.0 (0xb7004000) It needs 10Mb, more than the Qt lib. No way, why do you think that /usr/lib/libqt-mt uses all Qt libs? In fact it uses *zero* other Qt libs =D Like I said, I have no LCL Qt app to compare with. But you are right, I didn't check all Qt libs. It didn't occur to me to check for uppercase Qt files. Michael. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus GTK project dependencies
On Thu, 14 Apr 2011, Mattias Gaertner wrote: fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | cut -d' ' -f 3 | xargs cat | wc -c 7172681 The libqt-mt library is only one lib of a qt program. Yes. My bad, see my answer to Felipe. :/ 7 vs. 9 Mb. Just for the Qt/Gtk library. Please compare whole programs. Since I don't have the needed Qt libs, that will be hard. Please disregard my timings. And that only size matters is not quite correct: for each library the number of symbols in the libraries must be resolved. The more libraries must be resolved, the more work there is for the linker. Since you gave no proof for this statement, I will answer with another unproven: The bigger a library the more code, the more symbols must be resolved. It's not my statement. It's someone else's. see e.g. http://lwn.net/Articles/192624/ and http://keycorner.org/pub/text/doc/kde-slow.txt I assume they knew what they were talking about. Michael.-- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus GTK project dependencies
On Thursday 14 of April 2011 11:36:10 Mattias Gaertner wrote: The libqt-mt library is only one lib of a qt program. no, libqt-mt is complete qt-3.XXX library. in Qt 4 they splitted core,gui etc. zeljko -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] Lazarus FPC Italian language translators
Hello, I'm starting to translate the FPC message file to italian. Since the IT.po for lazarus has many untranslated sentences (maybe it's from an old version of lazarus?) I'm filling them too. I would like to know if there are other EN-IT translators active at the moment here, to coordinate our effort. Se ci siete fatevi vivi :-) Regards Massimo Soricetti -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Creating SDK like system
ik schrieb: I was requested to create a Windows program that can be changed (the interface) using some sort of SDK. That's very vague. Does the requestor have a specific idea about such an SDK, together with the functionality of the program? It sounds to me like something like XYZ has. When it's about the creation or modification of the GUI, an SDK could create the resource files (.lfm) of the forms. Everything else (event handlers...) should be predefined in the application, with flags (properties) in the .lfm to enable or configure that functionality, and the usual assignment of handlers to the events of the components. DoDi -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Creating SDK like system
BTW.: Maybe for your needs a resource stream is not even a good idea. I suppose it's not difficult to have a program read it's GUI design from a file instead of from the resource steam. So you can modify the look independently from the executable. -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Metafile support
On Thu, Apr 14, 2011 at 2:53 PM, Hans-Peter Diettrich drdiettri...@aol.com wrote: I'd separate the construction of metafiles from their use (drawing). Once a file has been created - be metafile, BMP, PNG, HTML, PDF etc. - its main purpose is distribution and presentation, not editing. In the simplest case drawing primitives are recorded in an metafile by e.g. switching the canvas, and all editing can occur in another application, independent from any metafile recorder and player. When an editor (AutoCad...) uses metafiles to store the entire state of a project (including invisible objects, symbols...), for later reload and continued editing, these parts can stay application-specific, and better should be stored in accordingly application-specific files. A general metafile should not contain more than the final drawing primitives. For editable metafiles it will be sufficient to allow for application-specific extensions, which can be skipped easily by the player base class (like unknown XML tags). Specific handling then can be built into derived classes. I am totally lost about how this all applies to fpvectorial. Maybe you could explain more specifically how your ideas would apply to fpvectorial? wiki page: http://wiki.lazarus.freepascal.org/fpvectorial -- Felipe Monteiro de Carvalho -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Creating SDK like system
On Thu, Apr 14, 2011 at 13:15, Hans-Peter Diettrich drdiettri...@aol.comwrote: ik schrieb: I was requested to create a Windows program that can be changed (the interface) using some sort of SDK. That's very vague. Does the requestor have a specific idea about such an SDK, together with the functionality of the program? It sounds to me like something like XYZ has. It is vegue, but because I have never done it before, I didn't know what exactly to ask. Now I understand it better, and send several questions what exactly is needed, When it's about the creation or modification of the GUI, an SDK could create the resource files (.lfm) of the forms. Everything else (event handlers...) should be predefined in the application, with flags (properties) in the .lfm to enable or configure that functionality, and the usual assignment of handlers to the events of the components. That's one way. Another way I was thinking was to allow to edit the lfm file, and also to provide a dll with some API like register button, with it's name and to be able to register a callback back to the the API when it was used. DoDi Ido -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus FPC Italian language translators
14.04.2011 14:30, notturno пишет: Hello, I'm starting to translate the FPC message file to italian. Since the IT.po for lazarus has many untranslated sentences (maybe it's from an old version of lazarus?) I'm filling them too. Very good. :) I would like to know if there are other EN-IT translators active at the moment here, to coordinate our effort. I doubt it, the last Italian IDE translation change was in 2009. You can see mail of the last translator e.g. in lazaruside.it.po file. -- Best regards, Maxim Ganetsky mailto:gan...@narod.ru -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Metafile support
Forwarding to the mailling list: On Thu, Apr 14, 2011 at 6:07 PM, Hans-Peter Diettrich drdiettri...@aol.com wrote: Felipe Monteiro de Carvalho schrieb: I am totally lost about how this all applies to fpvectorial. I was talking about metafiles in general, not about specific metafile formats and conversions. DoDi -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus