Flash player v 9
On Thu, Mar 13, 2008 at 8:55 AM, Henry Minsky <[EMAIL PROTECTED]> wrote:
> Note, I am using Firefox on MacOSX 10.5
>
>
>
> On Thu, Mar 13, 2008 at 8:55 AM, Henry Minsky <[EMAIL PROTECTED]> wrote:
> > Which version of Openlaszlo are you using? I don't see any flickering
> > when I run it in the "top of tree" dev branch. Have you
> > tried a recent nightly build ? Perhaps some issue has been fixed with
> > image display recently?
> >
> > Note, I had to modify your example to set visible to true on the image
> > views, otherwise it remained false, since it appears no other code was
> > setting it to visible.
> >
> >
> >
> >
> >
> > On Thu, Mar 13, 2008 at 7:29 AM, Marc Bachstein <[EMAIL PROTECTED]> wrote:
> > > Hello,
> > >
> > > I have written an application in which you can switch the image by
> clicking
> > > on a navigation button. It is also possible to zoom into the image.
> When you
> > > switch to another image the zoom factor keeps at the same value.
> > >
> > > Now there is a problem. If the zoom factor is different from 1, the
> image is
> > > firstly visible in 100% and after a subsecond the image is shown in the
> > > desired zoom setting. This causes a weird flickering as the image is
> painted
> > > twice.
> > >
> > > As there is just one call of newImgView.setSource(imgUrl, "none")
> > > I wanted to know whether this is bug in Laszlo and how I can avoid the
> > > double painting of the image.
> > >
> > > Here is a test program, which demonstrates the problem.
> > >
> > > When you click a few times on the next and previous button, you'll
> > > (sometimes) see the loaded image in the upper left corner visible in
> 100%
> > > before it is shown in the desired zooming size (here 200%).
> > >
> > > Best Regards,
> > > Marc
> > >
> > > -------------------
> > >
> > > <canvas height="100%" width="100%">
> > > <library>
> > > <class name="MyImage" extends="view">
> > > <attribute name="active" type="boolean"
> > > value="false"/>
> > >
> > > <handler name="onload"><![CDATA[
> > > show();
> > > ]]>
> > > </handler>
> > >
> > > <method name="show"><![CDATA[
> > > this.animate('opacity', 1, 100);
> > > ]]>
> > > </method>
> > >
> > > <method name="hide"><![CDATA[
> > > this.animate('opacity', 0, 100);
> > > ]]>
> > > </method>
> > > </class>
> > > </library>
> > >
> > > <attribute name="currentIndex" value="1" type="number"/>
> > >
> > > <simplelayout axis="y" spacing="5" inset="100"/>
> > >
> > > <!-- This box contains the buttons for image navigation -->
> > > <view name="functionBox" width="450" x="120" y="0" height="45"
> > > bgcolor="#CCCCCC" options="ignorelayout" align="center">
> > > <simplelayout axis="x" spacing="5" inset="5"/>
> > >
> > > <!-- Button first/initial Image -->
> > > <button name="tbbfirst" text="first/init" y="3"
> width="100"
> > > height="30">
> > > <handler name="onclick"><![CDATA[
> > > canvas.currentIndex = 1;
> > > canvas.loadImage();
> > > ]]>
> > > </handler>
> > > </button>
> > >
> > > <!-- Button previous Image -->
> > > <button name="tbbprev" text="previous" y="3" width="100"
> > > height="30">
> > > <handler name="onclick"><![CDATA[
> > > if (canvas.currentIndex > 1) {
> > > canvas.currentIndex--;
> > > canvas.loadImage();
> > > }
> > > ]]>
> > > </handler>
> > > </button>
> > >
> > > <!-- Button next Image -->
> > > <button name="tbbnext" text="next" y="3" width="100"
> > > height="30">
> > > <handler name="onclick"><![CDATA[
> > > if (canvas.currentIndex < 8) {
> > > canvas.currentIndex++;
> > > canvas.loadImage();
> > > }
> > > ]]>
> > > </handler>
> > > </button>
> > >
> > > <!-- Text field, which shows Image number -->
> > > <text name ="textfield" id="tf" text="image nr:
> undefined">
> > > </text>
> > > </view>
> > >
> > > <view name="imagecontainer" x="${parent.width - this.width}"
> > > width="1000" height="830" bgcolor="#000000">
> > > <MyImage name="image1" id="image1" stretches="both"
> > > x="${parent.width / 2 - this.width / 2}"
> > > y="${parent.height / 2 - this.height / 2}"
> > > visible="false" opacity="0">
> > >
> > > <handler name="onload">
> > > // image zooming
> > > image1.setWidth(2 * image1.resourcewidth);
> > > image1.setHeight( 2*
> image1.resourceheight);
> > > image1.active = true;
> > > image2.active = false;
> > > image1.bringToFront();
> > > image2.unload();
> > > </handler>
> > > </MyImage>
> > >
> > > <MyImage name="image2" id="image2" stretches="both"
> > > x="${parent.width / 2 - this.width / 2}"
> > > y="${parent.height / 2 - this.height / 2}"
> > > visible="false" opacity="0">
> > >
> > > <handler name="onload">
> > > // image zooming
> > > image2.setWidth(2 * image2.resourcewidth);
> > > image2.setHeight( 2*
> image2.resourceheight);
> > > image2.active = true;
> > > image1.active = false;
> > > image2.bringToFront();
> > > image1.unload();
> > > </handler>
> > > </MyImage>
> > > </view>
> > >
> > > <method name="loadImage"><![CDATA[
> > > var curImgView;
> > > var newImgView;
> > >
> > > if (imagecontainer.image1.active) {
> > > Debug.write(" => paint new image in view
> > > image2");
> > > curImgView = imagecontainer.image1;
> > > newImgView = imagecontainer.image2;
> > > } else {
> > > Debug.write(" => paint new image in view
> > > image1");
> > > curImgView = imagecontainer.image2;
> > > newImgView = imagecontainer.image1;
> > > }
> > >
> > > var d = new Date();
> > > var t = d.getDate() + "-" + (d.getMonth()+1) +
> "-" +
> > > d.getFullYear() + "_" + d.getHours()
> > > + ":" + d.getMinutes() + ":" + d.getSeconds() +
> "."
> > > + d.getMilliseconds();
> > >
> > >
> > > //actualize text of image nr
> > > tf.setText("image nr: "+canvas.currentIndex);
> > >
> > > // sources must be set !
> > > if (this.currentIndex == 1) {
> > > var imgUrl =
> > > "http://www.openlaszlo.org/themes/manji/images/ol_logo_small.gif";
> > > } else if (this.currentIndex == 2) {
> > > var imgUrl =
> > > "http://www.openlaszlo.org/files/ol_java_bot.png";
> > > } else if (this.currentIndex == 3) {
> > > var imgUrl =
> > > "http://www.openlaszlo.org/files/lsl_action-small.jpg";
> > > } else if (this.currentIndex == 4) {
> > > var imgUrl =
> > > "http://www.openlaszlo.org/themes/manji/images/ol_logo_small.gif";
> > > } else if (this.currentIndex == 5) {
> > > var imgUrl =
> > > "http://www.openlaszlo.org/files/ol_java_bot.png";
> > > } else if (this.currentIndex == 6) {
> > > var imgUrl =
> > > "http://www.openlaszlo.org/files/lsl_action-small.jpg";
> > > } else if (this.currentIndex == 7) {
> > > var imgUrl =
> > > "http://www.openlaszlo.org/themes/manji/images/ol_logo_small.gif";
> > > } else if (this.currentIndex == 8) {
> > > var imgUrl =
> > > "http://www.openlaszlo.org/files/ol_java_bot.png";
> > > }
> > >
> > > newImgView.unload();
> > >
> > > newImgView.setSource(imgUrl, "none");
> > >
> > > Debug.write(" load Image URL:
> > > "+imgUrl.toString());
> > > ]]>
> > > </method>
> > > </canvas>
> > >
> > > -------------------
> > >
> > >
> > >
> >
> >
> >
> > --
> > Henry Minsky
> > Software Architect
> > [EMAIL PROTECTED]
> >
>
>
>
> --
> Henry Minsky
> Software Architect
> [EMAIL PROTECTED]
>
--
Henry Minsky
Software Architect
[EMAIL PROTECTED]