You're right. The double buffering provided by swing is too low level. The 
back buffer I'm using is bigger than the size of the LayerViewPanel, so that 
while moving around with mouse, I immediately see the pre-buffered region 
surrounding the current viewport, instead of seeing blank space, very much 
similar to panning on Google Map.



--------------------------------------------------
From: "Sunburned Surveyor" <sunburned.surve...@gmail.com>
Sent: Thursday, April 09, 2009 10:51 PM
To: "OpenJump develop and use" <jump-pilot-devel@lists.sourceforge.net>
Subject: Re: [JPP-Devel] modelToViewTransform

> Bing and others:
>
> I thought that Swing was already double-buffered, which would make
> this modificaiton unnecessary. Are we double double-buffering? Or does
> the improvement come because Swing is only double-buffering the actual
> LVP envelope, while Bing is developing beyond this envelope?
>
> The Sunburned Surveyor
>
> On Thu, Apr 9, 2009 at 6:09 AM, Larry Becker <becker.la...@gmail.com> 
> wrote:
>> Hi Bing,
>>
>>   I haven't studied this code for a while, but it seems like the line is
>> moving the origin (top for window coordinate system, bottom for world).
>>
>> regards,
>> Larry
>>
>> 2009/4/9 Bing Ran <bing_...@hotmail.com>
>>>
>>> Hi list,
>>>
>>> Recently I started introducing an image back buffer in the 
>>> LayerViewPanel
>>> in my project for the purpose creating a (another) flicker free panning
>>> tool. It was the first thing I was planning to do when I started with 
>>> OJ. So
>>> far I have made nice progress.
>>>
>>> Basically I have a back buffer in the LVP that is bigger than the 
>>> viewport
>>> and the RenderingManager and all the style renderer only render to the 
>>> back
>>> buffer and then the proper portion of the back buffer is copied to the 
>>> LVP
>>> graphics. Additionally the back buffer is used as a cache of the 
>>> previous
>>> rendering result and the final viewport display uses part of the back 
>>> buffer
>>> instead of rendering afresh to reduce flickering.
>>>
>>> The preliminary effect of change is much appreciated by the CSRs in our
>>> call center.
>>>
>>>
>>> I'm still having issues converting geometries correctly and precisely in
>>> the process though.
>>>
>>>
>>> Now that I'm looking at the code of LVP.modelToViewTransform(...) I'm
>>> wondering why this line is there:
>>>
>>>    modelToViewTransform.translate(0, panelHeight);
>>>
>>> It seems to me these three lines are sufficient to convert a model point
>>> to a view point.
>>>
>>>    modelToViewTransform.scale(1, -1);
>>>    modelToViewTransform.scale(scale, scale);
>>>    modelToViewTransform.translate(-originInModel.getX(),
>>> -originInModel.getY());
>>>
>>> or even:
>>>
>>>    modelToViewTransform.scale(scale, -scale);
>>>    modelToViewTransform.translate(-originInModel.getX(),
>>> -originInModel.getY());
>>>
>>>
>>> Can someone share insight with this?
>>>
>>>
>>> Thanks
>>>
>>> Bing
>>>
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> This SF.net email is sponsored by:
>>> High Quality Requirements in a Collaborative Environment.
>>> Download a free trial of Rational Requirements Composer Now!
>>> http://p.sf.net/sfu/www-ibm-com
>>> _______________________________________________
>>> Jump-pilot-devel mailing list
>>> Jump-pilot-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>
>>
>>
>>
>> --
>> http://amusingprogrammer.blogspot.com/
>>
>> ------------------------------------------------------------------------------
>> This SF.net email is sponsored by:
>> High Quality Requirements in a Collaborative Environment.
>> Download a free trial of Rational Requirements Composer Now!
>> http://p.sf.net/sfu/www-ibm-com
>> _______________________________________________
>> Jump-pilot-devel mailing list
>> Jump-pilot-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>
>>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by:
> High Quality Requirements in a Collaborative Environment.
> Download a free trial of Rational Requirements Composer Now!
> http://p.sf.net/sfu/www-ibm-com
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> 

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to