From: Christopher R. <ch...@po...> - 2009-10-03 20:34:24
|
Hey, Arne: Okay, if we just remove USE_LIBPNG (and the attendant files) and add VSTGUI_FLOAT_COORDINATES to the preprocessor defs, everything works as it should, and the subpixel smoothing is extremely nice. I'll have to do some testing to make sure this works in XP SP2, which is the earliest Windows we support, but I think this plus 3.5 is the way we'll go for this product. Afterwards, I'll move all our custom controls to 3.6 and see what's what. Tried to build against it this morning, but all our procedural controls are six different kinds of messed up, due to the changes with the mouse, and no fillRect and what-not, and in the middle of a dev cycle I don't want to go rooting through our GUI kit to find nonsense like that. We use a _lot_ of procedural-drawn controls, and it would really set us back to deal with that now. Thanks for the tips, though. I feel really dumb now, as is usually the case after you drop some science. Christopher Randall Audio Damage, Inc. http://www.audiodamage.com On Oct 3, 2009, at 8:25 AM, Arne Scheffler wrote: > > On Oct 3, 2009, at 4:12 PM, Christopher Randall wrote: > >> Hey, Arne: >> >> Does VSTGUI_FLOAT_COORDINATES work (apparently not) in VSTGUI 3.5? > > Not on Windows, in 3.6 it works (at least for me). > >> I >> added it, and was rewarded with a non-existent user interface. We >> can't switch to 3.6 as we're mid-development, and that'd be, like, >> stupid and stuff. > > Switching to 3.6 (from 3.5) is at least not that hard than switching > from 3.0 to 3.5. > If you have a little bit time, give it a go and report back your > findings. > With it you're even prepared for Mac 64 bit as VSTGUI 3.6 supports > Cocoa. > > cheers > arne > >> >> Christopher Randall >> Audio Damage, Inc. >> http://www.audiodamage.com >> >> >> >> On Oct 3, 2009, at 6:38 AM, Arne Scheffler wrote: >> >>> Hi 'Tick, >>> I think you don't need this anymore. Just add >>> "VSTGUI_FLOAT_COORDINATES" as a preprocessor definition, and for >>> Windows add "GDIPLUS=1" (if this isn't already set per default, I >>> don't remember). >>> Then you can set the draw mode of the context to kAntialias and draw >>> either point for point or use CDrawContext::drawLines(..) to draw >>> your >>> curve. >>> And yes, coming from VSTGUI 2.2 is a lot of work. Check out the >>> "Migrating from 2.3.rtf" and in the html documentation the page >>> "Changes from earlier versions of VSTGUI", this should help you a >>> little bit. >>> >>> cheers >>> arne >>> >>> >>> On Oct 3, 2009, at 1:12 PM, Big Tick wrote: >>> >>>> Hi Arne, >>>> >>>> I use it for drawing my own, arbitrary shape antialiased curves >>>> using >>>> "float" coordinates. So if you want to set the value of pixel at >>>> coordinates (10.25, 3.25) , you will actually set 4 pixels (the 4 >>>> neighbors), using alpha based on distance. >>>> >>>> Something like this: >>>> >>>> const CColor blendColors(const CColor &c1, const CColor &c2, float >>>> mix) { >>>> const CColor res = { >>>> (unsigned char)((long)c1.red+(long)((float)(c2.red-c1.red)*mix)), >>>> (unsigned char)((long)c1.green+(long)((float)(c2.green- >>>> c1.green)*mix)), >>>> (unsigned char)((long)c1.blue+(long)((float)(c2.blue- >>>> c1.blue)*mix)), >>>> 0}; >>>> return res; >>>> } >>>> void OffScreenCControl::drawAntialiasedPixel(float x, float y, >>>> const >>>> CColor& color){ >>>> CPoint P2i0((int)x, (int)y); >>>> CPoint P2i(P2i0); >>>> float beta1 = 1-(y - (float)(P2i.v)); >>>> float beta2 = 1-(x - (float)(P2i.h)); >>>> _ctx->drawPoint(P2i, blendColors(_ctx->getPoint(P2i), color, >>>> beta1*beta2)); >>>> P2i(P2i0.h, P2i0.v+1); >>>> _ctx->drawPoint(P2i, blendColors(_ctx->getPoint(P2i), color, (1- >>>> beta1)*beta2)); >>>> P2i(P2i0.h+1, P2i0.v); >>>> _ctx->drawPoint(P2i, blendColors(_ctx->getPoint(P2i), color, >>>> beta1* >>>> (1- >>>> beta2))); >>>> P2i(P2i0.h+1, P2i0.v+1); >>>> _ctx->drawPoint(P2i, blendColors(_ctx->getPoint(P2i), color, (1- >>>> beta1)*(1-beta2))); >>>> } >>>> >>>> You need GetPoint because the 4 pixels you want to set might >>>> already >>>> have a value - so I alphablend the previous value with the one I >>>> want >>>> to set. >>>> >>>> It worked wonders on the venerable vstgui 2.2, upon which Rhino is >>>> built. But I now need to upgrade for the OSX port, and the jump >>>> from >>>> 2.2 to 3.6 is extremely painful. Actually, I've broken everything, >>>> on >>>> all platforms :) >>>> >>>> 'Tick >>>> >>>> >>>>> Hi 'Tick, >>>>> the reason was that it is not possible any more on Mac OS X. >>>>> And no, there's no replacement. Why do you need it ? >>>>> >>>>> cheers >>>>> arne >>>>> >>>>> >>>>> On Oct 1, 2009, at 9:34 AM, Big Tick wrote: >>>>> >>>>>> Hi guys, >>>>>> >>>>>> what was the reason for deprecating this ? Is there any >>>>>> replacement ? >>>>>> >>>>>> Cheers, >>>>>> 'Tick >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> Come build with us! The BlackBerry® Developer Conference in >>>>>> SF, >>>>>> CA >>>>>> is the only developer event you need to attend this year. >>>>>> Jumpstart >>>>>> your >>>>>> developing skills, take BlackBerry mobile applications to market >>>>>> and >>>>>> stay >>>>>> ahead of the curve. Join us from November 9-12, 2009. >>>>>> Register >>>>>> now! >>>>>> http://p.sf.net/sfu/devconf >>>>>> _______________________________________________ >>>>>> Vstgui-devel mailing list >>>>>> Vst...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/vstgui-devel >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Come build with us! The BlackBerry® Developer Conference in >>>>> SF, >>>>> CA >>>>> is the only developer event you need to attend this year. >>>>> Jumpstart >>>>> your >>>>> developing skills, take BlackBerry mobile applications to market >>>>> and >>>>> stay >>>>> ahead of the curve. Join us from November 9-12, 2009. Register >>>>> now! >>>>> http://p.sf.net/sfu/devconf >>>>> _______________________________________________ >>>>> Vstgui-devel mailing list >>>>> Vst...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/vstgui-devel >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Come build with us! The BlackBerry® Developer Conference in SF, >>>> CA >>>> is the only developer event you need to attend this year. Jumpstart >>>> your >>>> developing skills, take BlackBerry mobile applications to market >>>> and >>>> stay >>>> ahead of the curve. Join us from November 9-12, 2009. Register >>>> now! >>>> http://p.sf.net/sfu/devconf >>>> _______________________________________________ >>>> Vstgui-devel mailing list >>>> Vst...@li... >>>> https://lists.sourceforge.net/lists/listinfo/vstgui-devel >>> >>> >>> ------------------------------------------------------------------------------ >>> Come build with us! The BlackBerry® Developer Conference in SF, >>> CA >>> is the only developer event you need to attend this year. Jumpstart >>> your >>> developing skills, take BlackBerry mobile applications to market and >>> stay >>> ahead of the curve. Join us from November 9-12, 2009. Register >>> now! >>> http://p.sf.net/sfu/devconf >>> _______________________________________________ >>> Vstgui-devel mailing list >>> Vst...@li... >>> https://lists.sourceforge.net/lists/listinfo/vstgui-devel >> >> >> ------------------------------------------------------------------------------ >> Come build with us! The BlackBerry® Developer Conference in SF, >> CA >> is the only developer event you need to attend this year. Jumpstart >> your >> developing skills, take BlackBerry mobile applications to market and >> stay >> ahead of the curve. Join us from November 9-12, 2009. Register >> now! >> http://p.sf.net/sfu/devconf >> _______________________________________________ >> Vstgui-devel mailing list >> Vst...@li... >> https://lists.sourceforge.net/lists/listinfo/vstgui-devel > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry® Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9-12, 2009. Register > now! > http://p.sf.net/sfu/devconf > _______________________________________________ > Vstgui-devel mailing list > Vst...@li... > https://lists.sourceforge.net/lists/listinfo/vstgui-devel |