Hu, I meant that they can't received mouse moved events, sure you can move them :).
MeeLoo ----- Original Message ----- From: "Sebastien Metrot" <[EMAIL PROTECTED]> To: <ngl-cvs@gna.org> Sent: Wednesday, October 02, 2002 5:35 PM Subject: [ngl-cvs] invisible widgets can't be clicked any longer! (neither be unclicked nor moved) > CVS reportCommit from meeloo 2002/10/02 08:35:41 > > -------------------------------------------------------------------------- ------ > > invisible widgets can't be clicked any longer! (neither be unclicked nor moved) > > 2 files modified > Module File name Version > nui src/core/nuiMainWindow.cpp 1.47 >>> 1.48 > nui src/core/nuiWidget.cpp 1.14 >>> 1.15 > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > Received: from mallaury.noc.nerim.net ([62.4.17.82]) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 17zyft-0001CW-00 for <[EMAIL PROTECTED]>; Fri, 11 Oct 2002 05:13:50 -0700 Received: from zerodeux.net (mksp.net2.nerim.net [62.4.19.30]) by mallaury.noc.nerim.net (Postfix) with ESMTP id 9D97A62E24 for <[EMAIL PROTECTED]>; Fri, 11 Oct 2002 14:13:44 +0200 (CEST) Message-ID: <[EMAIL PROTECTED]> From: Vincent Caron <[EMAIL PROTECTED]> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.2b) Gecko/20021009 X-Accept-Language: en-us, en MIME-Version: 1.0 To: [EMAIL PROTECTED] References: <[EMAIL PROTECTED]> In-Reply-To: <[EMAIL PROTECTED]> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Subject: [NGL-devel] Re: [ngl-cvs] adding (shit I forgot -kb! :-((( i'll have to remove it and add it again /-((( Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.9-sf.net Precedence: bulk Reply-To: [EMAIL PROTECTED] List-Help: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Id: NGL developers discussion list <ngl-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Archive: <http://sourceforge.net/mailarchives/forum.php?forum=ngl-devel> Date: Fri Oct 11 05:14:04 2002 X-Original-Date: Fri, 11 Oct 2002 14:13:55 +0200 Sebastien Metrot wrote: > *Commit from /meeloo/* 2002/10/11 02:43:24 > > ------------------------------------------------------------------------ > > | adding (shit I forgot -kb! :-((( i'll have to remove it and add it > again /-((( You don't have to add it as a binary file because : - it is already automatically handled by our repository (.sln are registered as binary file) - it is useless since .sln files are textual XML files Received: from ivsweb.net2.nerim.net ([62.212.112.100] helo=ivssbs.IVSDOMAIN.FR) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 17zyq4-0008JN-00 for <[EMAIL PROTECTED]>; Fri, 11 Oct 2002 05:24:21 -0700 Received: from harry ([192.168.0.54]) by ivssbs.IVSDOMAIN.FR with Microsoft SMTPSVC(5.0.2195.5329); Fri, 11 Oct 2002 14:28:04 +0200 Message-ID: <[EMAIL PROTECTED]> From: "Sebastien Metrot" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> Subject: Re: [NGL-devel] Re: [ngl-cvs] adding (shit I forgot -kb! :-((( i'll have to remove it and add it again /-((( MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 X-OriginalArrivalTime: 11 Oct 2002 12:28:04.0125 (UTC) FILETIME=[A551B4D0:01C27121] Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.9-sf.net Precedence: bulk Reply-To: [EMAIL PROTECTED] List-Help: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Id: NGL developers discussion list <ngl-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Archive: <http://sourceforge.net/mailarchives/forum.php?forum=ngl-devel> Date: Fri Oct 11 05:25:03 2002 X-Original-Date: Fri, 11 Oct 2002 14:20:49 +0200 ----- Original Message ----- From: "Vincent Caron" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, October 11, 2002 2:13 PM Subject: [NGL-devel] Re: [ngl-cvs] adding (shit I forgot -kb! :-((( i'll have to remove it and add it again /-((( > Sebastien Metrot wrote: > > > *Commit from /meeloo/* 2002/10/11 02:43:24 > > > > ------------------------------------------------------------------------ > > > > | adding (shit I forgot -kb! :-((( i'll have to remove it and add it > > again /-((( > > > You don't have to add it as a binary file because : > > - it is already automatically handled by our repository (.sln are > registered as binary file) > Ha, nice > - it is useless since .sln files are textual XML files > > I have absolutely no confidence in the way VC handles this! .dsw & .dsp were textual files too but they would break VC completely if you tried loading one with the wrong line endings... I'll try to just keep it safe :) Sebastien Received: from zerodeux.net ([62.212.104.175]) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 181ZCB-0007aY-00 for <[EMAIL PROTECTED]>; Tue, 15 Oct 2002 14:25:43 -0700 Received: from localhost.localdomain (zerodeux.home [192.168.1.3]) by zerodeux.net (Postfix) with ESMTP id 1F644B2E3 for <[EMAIL PROTECTED]>; Tue, 15 Oct 2002 23:25:43 +0200 (CEST) From: Vincent Caron <[EMAIL PROTECTED]> To: NGL devel ML <[EMAIL PROTECTED]> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Ximian Evolution 1.0.8 Message-Id: <[EMAIL PROTECTED]> Mime-Version: 1.0 Subject: [NGL-devel] Maintenance note Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.9-sf.net Precedence: bulk Reply-To: [EMAIL PROTECTED] List-Help: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Id: NGL developers discussion list <ngl-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum=ngl-devel> Date: Tue Oct 15 14:26:05 2002 X-Original-Date: 15 Oct 2002 23:25:36 +0200 Mainly for Meeloo; MSVC project files should be updated : - add src/core/nglTimer_shr.cpp - add src/image/nglBitmapTools_shr.cpp - remove src/image/nglBitmapTools.cpp Also here's a pending task reminder : move Carbon.r, main.h and main.r to a place like src/core/carbon. Thanks. Received: from zerodeux.net ([62.212.104.175]) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 181ZqE-0002dH-00 for <[EMAIL PROTECTED]>; Tue, 15 Oct 2002 15:07:06 -0700 Received: from localhost.localdomain (zerodeux.home [192.168.1.3]) by zerodeux.net (Postfix) with ESMTP id BAE98B2E3 for <[EMAIL PROTECTED]>; Wed, 16 Oct 2002 00:07:06 +0200 (CEST) From: Vincent Caron <[EMAIL PROTECTED]> To: NGL devel ML <[EMAIL PROTECTED]> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Ximian Evolution 1.0.8 Message-Id: <[EMAIL PROTECTED]> Mime-Version: 1.0 Subject: [NGL-devel] nglWindow/win32: no OnState() events Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.9-sf.net Precedence: bulk Reply-To: [EMAIL PROTECTED] List-Help: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Id: NGL developers discussion list <ngl-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum=ngl-devel> Date: Tue Oct 15 15:08:02 2002 X-Original-Date: 16 Oct 2002 00:06:59 +0200 I just noticed that nglWindow/win32 does not seem to call OnState() events. Cf: http://ngl.sourceforge.net/doc/ngl/classngl_window.html#z103_6 Received: from zerodeux.net ([62.212.104.175]) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 181Zur-0003Fu-00 for <[EMAIL PROTECTED]>; Tue, 15 Oct 2002 15:11:53 -0700 Received: from localhost.localdomain (zerodeux.home [192.168.1.3]) by zerodeux.net (Postfix) with ESMTP id 76265B2E3 for <[EMAIL PROTECTED]>; Wed, 16 Oct 2002 00:11:54 +0200 (CEST) From: Vincent Caron <[EMAIL PROTECTED]> To: NGL devel ML <[EMAIL PROTECTED]> In-Reply-To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Ximian Evolution 1.0.8 Message-Id: <[EMAIL PROTECTED]> Mime-Version: 1.0 Subject: [NGL-devel] Re: [ngl-cvs] thy will is done, my master (fuck, this black helmet is heavy and I can hardly breathe! ;-) Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.9-sf.net Precedence: bulk Reply-To: [EMAIL PROTECTED] List-Help: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Id: NGL developers discussion list <ngl-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum=ngl-devel> Date: Tue Oct 15 15:12:05 2002 X-Original-Date: 16 Oct 2002 00:11:47 +0200 On Wed, 2002-10-16 at 00:08, Sebastien Metrot wrote: Commit from meeloo 2002/10/15 15:08:14 ________________________________________________________________________ thy will is done, my master (fuck, this black helmet is heavy and I can hardly breathe! ;-) Great, you shall have an Apple to maintain your Force. Received: from zerodeux.net ([62.212.104.175]) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 181xLF-00016g-00 for <[EMAIL PROTECTED]>; Wed, 16 Oct 2002 16:12:42 -0700 Received: from localhost.localdomain (zerodeux.home [192.168.1.3]) by zerodeux.net (Postfix) with ESMTP id 95CD0B3CA for <[EMAIL PROTECTED]>; Thu, 17 Oct 2002 01:12:41 +0200 (CEST) From: Vincent Caron <[EMAIL PROTECTED]> To: NGL devel ML <[EMAIL PROTECTED]> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Ximian Evolution 1.0.8 Message-Id: <[EMAIL PROTECTED]> Mime-Version: 1.0 Subject: [NGL-devel] Some remarks on Carbon code Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.9-sf.net Precedence: bulk Reply-To: [EMAIL PROTECTED] List-Help: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Id: NGL developers discussion list <ngl-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum=ngl-devel> Date: Wed Oct 16 16:13:03 2002 X-Original-Date: 17 Oct 2002 01:12:29 +0200 Crossed my mind while looking at the 'Carbon' commit : - nglApplication: * InternalInit() can safely be renamed Init() now that it does not clash with CallOnInit() * a quick glance seems to reveal that mExitPosted and mExitCode are useless (they belong to the old Unix code). The iQuit item in DoCommand() should call Quit() I guess. - nglKernel: * where is the .cpp ? Not in the CVS :) * I can't really say, but my finger tells me mExitPosted might be unused * Carbon manage POSIX signals ? Damned. - nglApplicationBase: this .cpp should be removed Received: from meeloo.net ([62.4.18.112]) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 181xhR-0008T0-00 for <[EMAIL PROTECTED]>; Wed, 16 Oct 2002 16:35:37 -0700 Received: from harry ([10.1.1.4]) by meeloo.net with smtp (Exim 3.35 #1 (Debian)) id 181zZV-0006m8-00 for <[EMAIL PROTECTED]>; Thu, 17 Oct 2002 03:35:33 +0200 Message-ID: <[EMAIL PROTECTED]> From: "Sebastien Metrot" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Subject: [NGL-devel] Re: [ngl-cvs] Ops, Carbon version is _more_ than in progress :) Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.9-sf.net Precedence: bulk Reply-To: [EMAIL PROTECTED] List-Help: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Id: NGL developers discussion list <ngl-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum=ngl-devel> Date: Wed Oct 16 16:36:02 2002 X-Original-Date: Thu, 17 Oct 2002 01:34:05 +0200 Except OS9 is not quite there yet. As I explain in the next email the current OSX port is a mix of multiple flavoured APIs: standard libc, POSIX/Darwin and Carbon. OS9 need a pure Carbon port and possibily a Classic version (if you want to create vstplugins for OS9 you'll have to do it as no host can load carbonized plugins on this OS :-( ). MeeLoo ----- Original Message ----- From: "Vincent Caron" <[EMAIL PROTECTED]> To: <ngl-cvs@gna.org> Sent: Thursday, October 17, 2002 1:30 AM Subject: [ngl-cvs] Ops, Carbon version is _more_ than in progress :) > CVS reportCommit from zerodeux 2002/10/16 16:30:59 > > -------------------------------------------------------------------------- ------ > > Ops, Carbon version is _more_ than in progress :) > > 1 file modified > Module File name Version > web aboutngl.php 1.3 >>> 1.4 > > > > > ------------------------------------------------------- > This sf.net email is sponsored by: viaVerio will pay you up to > $1,000 for every account that you consolidate with us. > http://ad.doubleclick.net/clk;4749864;7604308;v? > http://www.viaverio.com/consolidator/osdn.cfm > Received: from meeloo.net ([62.4.18.112]) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 181xkb-0000OP-00 for <[EMAIL PROTECTED]>; Wed, 16 Oct 2002 16:38:54 -0700 Received: from harry ([10.1.1.4]) by meeloo.net with smtp (Exim 3.35 #1 (Debian)) id 181zci-0006nP-00 for <[EMAIL PROTECTED]>; Thu, 17 Oct 2002 03:38:52 +0200 Message-ID: <[EMAIL PROTECTED]> From: "Sebastien Metrot" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> Subject: Re: [NGL-devel] Some remarks on Carbon code MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.9-sf.net Precedence: bulk Reply-To: [EMAIL PROTECTED] List-Help: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Id: NGL developers discussion list <ngl-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum=ngl-devel> Date: Wed Oct 16 16:39:03 2002 X-Original-Date: Thu, 17 Oct 2002 01:38:45 +0200 ----- Original Message ----- From: "Vincent Caron" <[EMAIL PROTECTED]> To: "NGL devel ML" <[EMAIL PROTECTED]> Sent: Thursday, October 17, 2002 1:12 AM Subject: [NGL-devel] Some remarks on Carbon code > Crossed my mind while looking at the 'Carbon' commit : > > > - nglApplication: > > * InternalInit() can safely be renamed Init() now that it does not > clash with CallOnInit() > Yep > * a quick glance seems to reveal that mExitPosted and mExitCode are > useless (they belong to the old Unix code). The iQuit item in > DoCommand() should call Quit() I guess. > I'll look at this > > - nglKernel: > > * where is the .cpp ? Not in the CVS :) > Woops! > * I can't really say, but my finger tells me mExitPosted might be > unused > Hmmm, program exit is not quite finished at the moment, I'll keep it until that moment. > * Carbon manage POSIX signals ? Damned. > OSX is a FreeBSD. As such it's build on POSIX basis and I can very well mix POSIX, Carbon and Cocoa in the same Mach-O application. The current version of NGL only use Carbon for Window management, Event handling and the Idling timer, most of the rest is handled by the original unix code sometimes slightly modified. Of course if one wan't to compile NGL and/or under OS9 he will have to make CFM exe. As such he will have to get rid of all the POSIX/Darwin code and replace it with Carbon/Classic equivalents. I, for one, am allready kept occupied enough with maintaining Win32+Carbon+NUI+Day Time Job+GirlFriend+Friends+etc so it may stay this way for quite some time, until a highly motivated individual takes over NGL Mac maintenance ;-). What NGL/OSX lacks: - Half decent keyboard handling (actually more a keyboard table that anything, not much work actually). - Complete timer implementation (maybe 2H of work, not more). - nglVideoMode - Fullscreen support - Half of nglWindow are still stub functions. - Clipboard handling - nglModule - Faster processors (oops, this is a troll, OK :) - possibly other things :) > > - nglApplicationBase: this .cpp should be removed > > Yep MeeLoo Received: from meeloo.net ([62.4.18.112]) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 181zvU-000823-00 for <[EMAIL PROTECTED]>; Wed, 16 Oct 2002 18:58:16 -0700 Received: from [10.1.1.129] (helo=[10.1.1.129]) by meeloo.net with esmtp (Exim 3.35 #1 (Debian)) id 1821na-0007W3-00 for <[EMAIL PROTECTED]>; Thu, 17 Oct 2002 05:58:14 +0200 User-Agent: Microsoft-Entourage/10.0.0.1309 From: Sebastien Metrot <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> Mime-version: 1.0 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit Subject: [NGL-devel] DLL Target for win32 Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.9-sf.net Precedence: bulk Reply-To: [EMAIL PROTECTED] List-Help: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Id: NGL developers discussion list <ngl-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum=ngl-devel> Date: Wed Oct 16 18:59:02 2002 X-Original-Date: Thu, 17 Oct 2002 03:58:11 +0200 Hi guys! I've been suffering on the win32 DLL target for quite some time now (like many weeks) and just when we thought we had found the solution for every problem I'm faced with my worst nightmare ever: exporting partially specialized template classes from a DLL. It may sound stupid but there is a real shortcoming in the way VC work as it makes it *very* hard for the developer to use the STL in a class interface. One can use it all he wants in the implementation but passing STL objects in between an exe and a DLL is really hard to achieve. After struggling 5 hours with the problem I believe there is no real elegant way to solve the issue. * Solution 1: we ditch the STL all-together and re-write something equivalent only for normal human beings. It's doable as our use of the STL is not really extensive: we mainly need lists and vectors (some maps inside NUI). The shortcomings would be less standard compliant, less flexibility, and last but not least, much time taken to reinvent the wheel (we all ready have reinvented enough wheels during NGL's development :) * Solution 2: adapt the current interfaces to get rid of the STL in these particular parts. The hard part would be this: we would still be able to inherit from types defined inside the DLL but we wouldn't be allowed to touch any member dealing directly with the STL. I.E. No more direct fiddling with the NUI widget tree, no more enumeration of a list of arguments by hand, etc. I can live with that but some elements of the current interface is way too easy to use for me to accept such compromises (think of nglString::Tokenize for example). * Solution 3: we change our plans ("not again!" I hear some of you say ;-). Let's examine why we came up we the current DLL based design for Win32: we needed a way to handle plug-in activation and to separate low level stuff from the high level stuff. We succeeded with the current nglKernel design which can be basically summarized as this: there is only one global in the ngl library (App) and this global holds the key to the current process' event management system. So the only thing we really need to be shared (on Win32) is App. All the remaining stuff is just sugar on the cake if we look at this very problem. My idea then is straightforward: let's split NGL/Win32 in two libraries: libnglkernel.dll is a simple dll holding only the basic start-up code for the system loop (nglKernel, nglApplication, nglVSTPlugin, App, etc...) and let all the remaining classes be in the current static library! I know this can look strange at first but I really think this is the only easy solution to this problem. I also know I breaks Vincent's and Lorenzo's dreams of a fully DLLized NGL but at least I'm sure I can make it work thanks to the fact that nglKernel has no STL based interface. Well, all this is unless some smart ass finds a way around VC's current limitation but I'm not holding my breath :-). MeeLoo PS: I have a bunch of reference concerning this issue, just ask me if you want the links to the infos if you want to investigate the problem by yourself. Received: from zerodeux.net ([62.212.104.175]) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 182Ldq-0001Xj-00 for <[EMAIL PROTECTED]>; Thu, 17 Oct 2002 18:09:30 -0700 Received: from localhost.localdomain (zerodeux.home [192.168.1.3]) by zerodeux.net (Postfix) with ESMTP id E1915B6F9 for <[EMAIL PROTECTED]>; Fri, 18 Oct 2002 03:09:30 +0200 (CEST) From: Vincent Caron <[EMAIL PROTECTED]> To: NGL devel ML <[EMAIL PROTECTED]> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Ximian Evolution 1.0.8 Message-Id: <[EMAIL PROTECTED]> Mime-Version: 1.0 Subject: [NGL-devel] Doc + todo Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.9-sf.net Precedence: bulk Reply-To: [EMAIL PROTECTED] List-Help: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Id: NGL developers discussion list <ngl-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum=ngl-devel> Date: Thu Oct 17 18:10:05 2002 X-Original-Date: 18 Oct 2002 03:09:23 +0200 I updated the online doc to reflect the recent change in the core architecture. It's full of nasty holes, something need to be written before we forget how it works ! :) Grep'ing NGL gives 75 occurences of FIXME. Yum. Received: from zerodeux.net ([62.212.104.175]) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 1849Qj-0004Z4-00 for <[EMAIL PROTECTED]>; Tue, 22 Oct 2002 17:31:25 -0700 Received: from localhost.localdomain (zerodeux.home [192.168.1.3]) by zerodeux.net (Postfix) with ESMTP id 1F4C8AFAD for <[EMAIL PROTECTED]>; Wed, 23 Oct 2002 02:31:25 +0200 (CEST) From: Vincent Caron <[EMAIL PROTECTED]> To: NGL devel ML <[EMAIL PROTECTED]> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Ximian Evolution 1.0.8 Message-Id: <[EMAIL PROTECTED]> Mime-Version: 1.0 Subject: [NGL-devel] A journey in NUI (part 1) Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.9-sf.net Precedence: bulk Reply-To: [EMAIL PROTECTED] List-Help: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Id: NGL developers discussion list <ngl-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum=ngl-devel> Date: Tue Oct 22 17:32:08 2002 X-Original-Date: 23 Oct 2002 02:31:16 +0200 Hello, I'm starting to dive into NUI sources with my (almost) brand new eyes. I'll start with some polishing ideas. Looking at various places in the code for 'Grab', I noticed a few things : - MouseGrab is a pleonasm : Focus is keyboard related, Grab is mouse related. Good ol' terminology from the early Xerox Park ages :) - in some places the passive is correctly spelled with two 'b' as in OnMouseGrabbed, but for instance nuiMainWindow::GetMouseGraber() fails :) - the mGrabStack is not the mMouseGrabStack, etc. My suggestion : use simply Grab(), Ungrab() and GetGrab() consistently everywhere. This about 7 methods to rename, 70 total occurences to sed. I don't expect current NUI applications play with grabs (or: yek). -- nuiMainWindow::GrabMouse(nuiWidget* p) does an undocumented thing when p == NULL, and this trick is used internally. This is both horrible and unreadable, I just can't understand clearly how Grab and Ungrab work. I suggest Grab(NULL) does nothing, and those methods don't call each other. I am actually sensing that mpMouseGrabber is what should simply be the top of the mGrabStack and makes the whole pretty complex. -- Tip of the day : if (tt == nglString::Empty || tt == nglString::Null) should be replaced by : if (tt.IsEmpty()) because IsEmpty() is true when the string is empty or null (and faster, and more readable, and more C++, etc). RTFM: http://ngl.sourceforge.net/doc/ngl/classngl_string.html#z179_2 Received: from zerodeux.net ([62.212.104.175]) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 186gkI-0006Nr-00 for <[EMAIL PROTECTED]>; Tue, 29 Oct 2002 16:30:07 -0800 Received: from localhost.localdomain (zerodeux.home [192.168.1.3]) by zerodeux.net (Postfix) with ESMTP id E6B54AFAF for <[EMAIL PROTECTED]>; Wed, 30 Oct 2002 01:30:05 +0100 (CET) From: Vincent Caron <[EMAIL PROTECTED]> To: NGL devel ML <[EMAIL PROTECTED]> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Ximian Evolution 1.0.8 Message-Id: <[EMAIL PROTECTED]> Mime-Version: 1.0 Subject: [NGL-devel] A journey in NUI (part 2) Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.9-sf.net Precedence: bulk Reply-To: [EMAIL PROTECTED] List-Help: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Id: NGL developers discussion list <ngl-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum=ngl-devel> Date: Tue Oct 29 16:31:01 2002 X-Original-Date: 30 Oct 2002 01:29:58 +0100 I'm still looking at nuiMainWindow, the whole world is in there :) The little stories to begin with : - Would it possible to respect that part of the coding convention wich says to separate arguments with a space after every comma ? BAD : DispatchMouseClick((nuiSize)X,(nuiSize)Y,Button) GOOD: DispatchMouseClick((nuiSize)X, (nuiSize)Y, Button) Should not be less legible, but would be a lot more for me and other people. - There's no comment. Nada. We don't know why there is nuiTrashElement and how it works (even if I vaguely remember having tackled the topic). We must reverse engineer all complex event dispatching process, interleaved with code specific to grabs, focus and so on. I can't make a sane patch without knowing if I'm breaking things. So I'll break things, someone very angry will shout explanations at me, then I'll fix things _and_ document them :). Train your skills on 'cvs up -r'. - Theme stuff is too much hardwired : * the ResPath (constructor arg of nuiMainWindow and nuiDrawContext) assume the theme is built from a path, which is IMHO shortsighted. I do expect to have the default builtin theme as an inlined XML description, loaded via nglIMemory. And so on. All of these should be plain nuiTheme*. If a user provides a NULL theme, then a predefined nuiDefaultTheme should be (built and) used. * 'background drawing' should be a generic widget job, not hardcoded in nuiMainWindow * other thingies like tooltip timing are hardcoded. Cf. nuiDefaultTheme -- And now the two big stories. First one : the toplevel widget. There's no such notion in NUI, it's burried in nuiMainWindow. The reason why a nuiTopLevel class should be extracted from the current nuiMainWindow : - even if there's only one toplevel widget (nuiMainWindow), this does not prevent us to break code in smaller and functionnaly coherent parts. The 1300 lines of nuiMainWindow simultaneously dealing with nuiWindow's, focus, grabs, key shortcuts, trash managements, some theme things, is way too much for something seriously understandable and maintainable. I mean beside the guy who wrote it :), I just banged my head on it for an hour or so - the fact that we have this method in nuiWidget : virtual nuiContainer* GetRoot(); showed that the author sensed that the root widget _had_ to be more than a nuiWidget (ie. a superclass). nuiContainer is obvious but not enough, it lacks the per-widget tree services that you naturally stuff into the root node (grab, focus, tooltips). This is what comes in nuiTopLevel. - and the cerise on the gateau : we juste wipe out those horrible dynamic_cast<nuiMainWindow*> spread everywhere (32 occurences, and only reason to use RTTI if I'm not mistaking). This is very simple : class nuiContainer { nuiWidget* GetRoot() { return mpParent ? mpParent->GetRoot() : this; } virtual nuiTopLevel* GetTopLevel() { return mpParent ? mpParent->GetTopLevel() : NULL; } } class nuiTopLevel : class nuiContainer { virtual nuiTopLevel* GetTopLevel() { return this; } // Grab // Focus // Tooltips } class nuiMainWindow : public nuiTopLevel { // the nuiWindow container } This example shows both GetRoot() and GetTopLevel() at work to understand the difference. I expect GetRoot() to be useless but it's theoretically correct to let it there (has different semantics). -- The other big story is about nuiWindow. More precisely about nuiMainWindow being their container. I'd like to make a separate nuiWindowManager to do this job. - first, because it's an orthogonal design. The toplevel widget should be the straightest container (ie. nuiContainer), and choosing its container behaviour is a matter of packing the right container first. - second, because I have an immediate use and example. I'd like to have some toolbars on top of a MainWindow and then a workspace where nuiWindow evolves. Hence the nuiWindowManager container. - third, it does mean that the user can/will stuff many nuiWindowManager because he can. You don't have to need many instances of a class to justify its existence. Moreover, I'd like to have multiple nuiWindowManager at once (for instance, to have multiple 'MDI' workspaces in a tabbed view, etc). - lastly, this also means that at last nuiMainWindow will only contain code that deals with nglWindow and its presentation to NUI users (events, creation, etc). End of the monolithic-doing-the-washing-up-try-to-maintain-it-if-you-dare nuiMainWindow ! :) -- Plan of action : most of this is moving code at the right place. Except the GetTopLevel() method, APIs should remain identical (behaviour too of course). So that would be : - phase 1 : extract nuiTopLevel from nuiMainWindow - phase 2 : extract nuiWindowManager from nuiMainWindow (and add sticking borders, can't live without it ! :)) - phase 3 : really use nuiTheme - phase 4 : build a cool NUI demo (widget gallery), being now possible without compromise Received: from meeloo.net ([62.4.18.112]) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 186hAE-0007Wg-00 for <[EMAIL PROTECTED]>; Tue, 29 Oct 2002 16:56:55 -0800 Received: from [10.1.1.130] (helo=harry) by meeloo.net with smtp (Exim 3.36 #1 (Debian)) id 186h9f-0006Z4-00 for <[EMAIL PROTECTED]>; Wed, 30 Oct 2002 01:56:19 +0100 Message-ID: <[EMAIL PROTECTED]> From: "Sebastien Metrot" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> Subject: Re: [NGL-devel] A journey in NUI (part 2) MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.9-sf.net Precedence: bulk Reply-To: [EMAIL PROTECTED] List-Help: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Id: NGL developers discussion list <ngl-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum=ngl-devel> Date: Tue Oct 29 16:57:03 2002 X-Original-Date: Wed, 30 Oct 2002 01:56:13 +0100 ----- Original Message ----- From: "Vincent Caron" <[EMAIL PROTECTED]> To: "NGL devel ML" <[EMAIL PROTECTED]> Sent: Wednesday, October 30, 2002 1:29 AM Subject: [NGL-devel] A journey in NUI (part 2) > I'm still looking at nuiMainWindow, the whole world is in there :) > > The little stories to begin with : > > > - Would it possible to respect that part of the coding convention wich > says to separate arguments with a space after every comma ? > > Sure, I try to do it all the time but i'm known to make such mistakes. > - There's no comment. Nada. We don't know why there is nuiTrashElement > and how it works (even if I vaguely remember having tackled the topic). > We must reverse engineer all complex event dispatching process, > interleaved with code specific to grabs, focus and so on. I can't make a > sane patch without knowing if I'm breaking things. So I'll break things, > someone very angry will shout explanations at me, then I'll fix things > _and_ document them :). Train your skills on 'cvs up -r'. > nui have been somewhat totaly redone 4 or 5 time since last summer 2001, code documentation got kinda lost on the way. The bad thing being that the actual design ISN'T final as some thing still need to be reworked (for exemple the stuf you talk about here, but also the layout mecanics for exemple). I don't really plan to document things until I have the feeling that the inner design is kinda written in stone. > > - Theme stuff is too much hardwired : > > * the ResPath (constructor arg of nuiMainWindow and nuiDrawContext) > assume the theme is built from a path, which is IMHO shortsighted. I do > expect to have the default builtin theme as an inlined XML description, > loaded via nglIMemory. And so on. All of these should be plain > nuiTheme*. If a user provides a NULL theme, then a predefined > nuiDefaultTheme should be (built and) used. > Sure, as always, work in progress, the Theme and DrawContext thing is not even half done. Basics are here but I could use some help on the design side of nuiTheme. I will work back on this side soon as I'll probably have to implement a "light" nui theme in order to be able to run nui application on low end machines (glups). My inbox is waiting for your ideas :). > * 'background drawing' should be a generic widget job, not hardcoded in > nuiMainWindow > Agreed, legacy code, should go away soon. > * other thingies like tooltip timing are hardcoded. Cf. nuiDefaultTheme > Yep, it goes with the theme, but also it goes with possibily refined nui tooltips API so that one could use tooltips widgets without the automatic behaviour. > > Plan of action : most of this is moving code at the right place. Except > the GetTopLevel() method, APIs should remain identical (behaviour too of > course). So that would be : > > - phase 1 : extract nuiTopLevel from nuiMainWindow > - phase 2 : extract nuiWindowManager from nuiMainWindow (and add > sticking borders, can't live without it ! :)) > - phase 3 : really use nuiTheme > > - phase 4 : build a cool NUI demo (widget gallery), being now possible > without compromise > Agreed on all of these. I'm available and vonlunteer to help you on this. (you will see that there may be some design troubles concerning menu items on the way... we'll see...). 1: should be easy, 1 or 2 hours of forceps work at most. You probably can do it on your own (hint hint! :) 2: very easy too, just moving things around. 3: this one is harder are it will imply taking hard to make decisions about fonts, the way we draw widgets, nuiDrawContext may also need to change a bit, etc... I agree on the goal but let's talk about it a bit before implementing it ok? (defining the goals and field of the nuitheme might be a nice idea to go for at first). 4: ok, you're doing this :-). 5: Finish nglFont2 and add support for it to nui!!!! (you finish nglFont2, and I do the nui support?) Jerome started to work back on yapuka, a rad tool for nui. It may be nice that we coordinate our efforts as there will probably be overlapping areas of work for the three of us... Cheers, MeeLoo Received: from zerodeux.net ([62.212.104.175]) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 186hmM-00081e-00 for <[EMAIL PROTECTED]>; Tue, 29 Oct 2002 17:36:19 -0800 Received: from localhost.localdomain (zerodeux.home [192.168.1.3]) by zerodeux.net (Postfix) with ESMTP id D9F61AFAF for <[EMAIL PROTECTED]>; Wed, 30 Oct 2002 02:36:19 +0100 (CET) From: Vincent Caron <[EMAIL PROTECTED]> To: NGL devel ML <[EMAIL PROTECTED]> In-Reply-To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Ximian Evolution 1.0.8 Message-Id: <[EMAIL PROTECTED]> Mime-Version: 1.0 Subject: [NGL-devel] Re: [ngl-cvs] - DLL is now the default target Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.9-sf.net Precedence: bulk Reply-To: [EMAIL PROTECTED] List-Help: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Id: NGL developers discussion list <ngl-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum=ngl-devel> Date: Tue Oct 29 17:37:01 2002 X-Original-Date: 30 Oct 2002 02:36:12 +0100 * should I add the visual studio pragma to automatically include the right link option with the lib/dll name to use? Seems OK if it can be guessed precisely from inside the header files. But then you'll be asked to do the #pragma stuff for libpng when NGL_USE_LIBPNG is set, and so on :) Received: from meeloo.net ([62.4.18.112]) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 186hst-0002uf-00 for <[EMAIL PROTECTED]>; Tue, 29 Oct 2002 17:43:03 -0800 Received: from [10.1.1.130] (helo=harry) by meeloo.net with smtp (Exim 3.36 #1 (Debian)) id 186hsO-0006oT-00 for <[EMAIL PROTECTED]>; Wed, 30 Oct 2002 02:42:32 +0100 Message-ID: <[EMAIL PROTECTED]> From: "Sebastien Metrot" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> Subject: Re: [NGL-devel] Re: [ngl-cvs] - DLL is now the default target MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.9-sf.net Precedence: bulk Reply-To: [EMAIL PROTECTED] List-Help: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:[EMAIL PROTECTED]> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Id: NGL developers discussion list <ngl-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/ngl-devel>, <mailto:[EMAIL PROTECTED]> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum=ngl-devel> Date: Tue Oct 29 17:44:01 2002 X-Original-Date: Wed, 30 Oct 2002 02:42:57 +0100 I can easily guess if we are using ngl as a dll or not and if it a debug or release build so everything should be allright. I don't have problems with other libs as they are included in libngl for the moment (even in the dll build) because of the lack of zlib.dll/libpng.dll/freetype2.dll/libjpeg.dll, etc... The end user program only links against ngl dll or lib and that's pretty much all. Only ngl links against the libs it depends on. MeeLoo ----- Original Message ----- From: "Vincent Caron" <[EMAIL PROTECTED]> To: "NGL devel ML" <[EMAIL PROTECTED]> Sent: Wednesday, October 30, 2002 2:36 AM Subject: [NGL-devel] Re: [ngl-cvs] - DLL is now the default target > * should I add the visual studio pragma to automatically include the > right link option with the lib/dll name to use? > > Seems OK if it can be guessed precisely from inside the header files. > But then you'll be asked to do the #pragma stuff for libpng when > NGL_USE_LIBPNG is set, and so on :) >