DISQUS

CuppaDev: Rotating OpenLaszlo with Webkit

  • henry · 2 years ago
    Please submit a feature request to the OpenLaszlo bug tracking system (JIRA), with your code, and we'll try and get it in!
  • James Urquhart · 2 years ago
    henry,

    That's on my TODO list. However it is worth noting that since Webkit transform's have yet to be standardised and thus implemented in other web browsers, so it might be a bit premature to implement such functionality now.

    After a quick look around the mozilla docs, there sadly doesn't seem to be equivalent functionality for rotating elements, unless perhaps you make use of OpenLaszlo's incomplete SVG kernel.

    As for Internet Explorer, there seems to be a way you can apply transforms to elements as described "here":http://msdn2.microsoft.com/en-us/library/ms532847.aspx.

    In any case, thanks for your interest! :)

    ~ James
  • Max Carlson · 2 years ago
    Hi James,

    I couldn't resist :). There's now support for rotation in trunk. If you pull down a copy after tonight's build you should be able to use setRotation() in webkit nightlies!

    Regards,
    Max Carlson
    Openlaszlo.org

    P.S. Here's the changeset in case you're curious how it works:
    Author: max
    Date: 2007-11-02 17:10:39 -0700 (Fri, 02 Nov 2007)
    New Revision: 7107

    Modified:
    openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
    Log:
    Change 20071102-maxcarlson-n by maxcarlson@Plastik on 2007-11-02 12:16:32 PDT
    in /Users/maxcarlson/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

    Summary: Add support for setRotation() for webkit nightlies

    New Features:

    Bugs Fixed: LPP-5030 - Add setRotation() support for webkit nightlies

    Technical Reviewer: ptw
    QA Reviewer: jcrowley
    Doc Reviewer: (pending)

    Documentation:

    Release Notes:

    Details: Set capabilities.rotation to true in Safari. Add setRotation() method that sets the appropriate style per http://webkit.org/blog/130/css-transforms/


    Tests: http://localhost:8080/trunk/test/lztest/lztest-view.lzx?lzr=dhtml shows rotation in a recent build of webkit (WebKit-SVN-r27375)!



    Modified: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
    ===================================================================
    --- openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js 2007-11-02 23:50:37 UTC (rev 7106)
    +++ openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js 2007-11-03 00:10:39 UTC (rev 7107)
    @@ -303,6 +303,9 @@
    this.quirks['safari_visibility_instead_of_display'] = true;
    this.quirks['absolute_position_accounts_for_offset'] = true;
    this.quirks['canvas_div_cannot_be_clipped'] = true;
    + if (Lz.__BrowserDetect.version > 523.10) {
    + this.capabilities['rotation'] = true;
    + }
    } else if (Lz.__BrowserDetect.isOpera) {
    // Fix bug in where if any parent of an image is hidden the size is 0
    this.quirks['invisible_parent_image_sizing_fix'] = true;
    @@ -1558,6 +1561,9 @@
    return this.__contextmenu;
    }

    +LzSprite.prototype.setRotation = function(r) {
    + this.__LZdiv.style['-webkit-transform'] = 'rotate(' + r + 'deg)';
    +}

    if (LzSprite.prototype.quirks.ie_leak_prevention) {
    LzSprite.prototype.__sprites = {};