1. Sep 23, 2012
  2. Aug 27, 2012
  3. Jul 31, 2012
    • Charles Yin's avatar
      Refactor context2d thread logic · 4236e7f7
      Charles Yin authored
      
      1. Use QQuickContext2DRenderThread for Threaded rendering
      2. Make FBO target works with all render strategies
      3. Remove some unnessary locks, call texture methods by invoking meta calls
      4. Run existing tests with all render targets and strategies (except Cooperative)
      
      Change-Id: I0db5c91d848b86bcc1536c30d7a5804b66a817f1
      Reviewed-by: default avatarYunqiao Yin <charles.yin@nokia.com>
      4236e7f7
  4. Jun 05, 2012
    • Charles Yin's avatar
      Introduce QQuickCanvasPixmap · 1dcfa8aa
      Charles Yin authored
      
      1. QQuickPixmap now only store textures instead of QImage data, however
      context2d still need to access the QImage in some places, so cache the
      loaded images to avoid the expensive GL readback operations.
      2. Use texture directly if the render target is FBO.
      
      Change-Id: I6228011e5698fa00f2e3420a3a4a305995b8a238
      Reviewed-by: default avatarYunqiao Yin <charles.yin@nokia.com>
      1dcfa8aa
  5. Jun 03, 2012
  6. May 31, 2012
  7. Apr 24, 2012
  8. Mar 07, 2012
  9. Mar 06, 2012
  10. Feb 24, 2012
  11. Feb 10, 2012
  12. Jan 30, 2012
  13. Jan 27, 2012
  14. Jan 23, 2012
  15. Jan 05, 2012
  16. Dec 02, 2011
    • Kent Hansen's avatar
      Say hello to QtQuick module · 6c8378ea
      Kent Hansen authored
      
      This change moves the QtQuick 2 types and C++ API (including
      SceneGraph) to a new module (AKA library), QtQuick.
      
      99% of this change is moving files from src/declarative to
      src/quick, and from tests/auto/declarative to
      tests/auto/qtquick2.
      
      The loading of QtQuick 2 ("import QtQuick 2.0") is now delegated to
      a plugin, src/imports/qtquick2, just like it's done for QtQuick 1.
      
      All tools, examples, and tests that use QtQuick C++ API have gotten
      "QT += quick" or "QT += quick-private" added to their .pro file.
      
      A few additional internal QtDeclarative classes had to be exported
      (via Q_DECLARATIVE_PRIVATE_EXPORT) since they're needed by the
      QtQuick 2 implementation.
      
      The old header locations (e.g. QtDeclarative/qquickitem.h) will
      still be supported for some time, but will produce compile-time
      warnings. (To avoid the QtQuick implementation using the
      compatibility headers (since QtDeclarative's includepath comes
      first), a few include statements were modified, e.g. from
      "#include <qsgnode.h>" to "#include <QtQuick/qsgnode.h>".)
      
      There's a change in qtbase that automatically adds QtQuick to the
      module list if QtDeclarative is used. Together with the compatibility
      headers, this should help reduce the migration pain for existing
      projects.
      
      In theory, simply getting an existing QtDeclarative-based project
      to compile and link shouldn't require any changes for now -- but
      porting to the new scheme is of course recommended, and will
      eventually become mandatory.
      
      Task-number: QTBUG-22889
      Reviewed-by: default avatarLars Knoll <lars.knoll@nokia.com>
      Change-Id: Ia52be9373172ba2f37e7623231ecb060316c96a7
      Reviewed-by: default avatarKent Hansen <kent.hansen@nokia.com>
      Reviewed-by: default avatarSergio Ahumada <sergio.ahumada@nokia.com>
      6c8378ea
  17. Nov 17, 2011
  18. Nov 14, 2011
  19. Oct 21, 2011
    • Kent Hansen's avatar
      Rename Qt Quick-specific classes to QQuick* · bfb3c424
      Kent Hansen authored
      
      The QSG (SceneGraph) prefix is too generic for
      Qt Quick(2)-specific classes.
      
      All the classes and files in the declarative/items
      directory have been renamed.
      
      In particular, for classes that are currently public,
      the renaming is as follows:
      
      QSGView --> QQuickView
      QSGCanvas --> QQuickCanvas
      QSGItem --> QQuickItem
      QSGPaintedItem --> QQuickPaintedItem
      
      The header files have been renamed accordingly
      (e.g. qsgview.h --> qquickview.h).
      
      Change-Id: Iac937fff81db20bb639486a793c3aeb5230b038c
      Reviewed-by: default avatarKent Hansen <kent.hansen@nokia.com>
      bfb3c424
  20. Oct 19, 2011
    • Friedemann Kleint's avatar
      Declarative: Fix MSVC and g++ warnings · 5ddcd47d
      Friedemann Kleint authored
      
      Potentially severe:
      - Fix int/bool mismatches
      - Use of uninitialized variable
      - Do connectionMask shift operations in 64bit
      - Enum type mismatch for QLineControl::EchoMode
      
      Various:
      - class/struct mismatches
      - UnhandledEnumeration values
      - Unused variables
      - Constructor initialization order
      
      Change-Id: Ieb52f8990445fe95f94070175a0f9beb66863240
      Reviewed-by: default avatarMartin Jones <martin.jones@nokia.com>
      5ddcd47d
  21. Oct 17, 2011
    • Kent Hansen's avatar
      Clean up declarative includes · 7fa3aa4d
      Kent Hansen authored
      
      (This commit is in preparation of moving several files
      to a separate library (QtQuick2).)
      
      Don't add all subfolders to the includepath (from the
      .pri files). There's no good reason to do that.
      
      For headers (both public and private) that are in the
      same folder as the file that includes them, prefer to use
      
       #include "foo.h"
       #include "bar_p.h"
      
      For public headers that are outside the current folder
      but have "unambiguous" names (e.g. qdeclarative prefix), use
      
       #include <foo.h>
      
      For private headers that are outside the current folder, use
      
       #include <private/baz_p.h>
      
      Also change
      
       #include <QtDeclarative/private/foo_p.h>
      
      to
      
       #include <private/foo_p.h>
      
      The header filenames already have a qdeclarative or qsg
      prefix; there's no need to prefix by module name to
      disambiguate.
      
      Finally,
      
       #include "private/foo_p.h"
      
      should be avoided. private/ is used for auto-generated
      (forwarding) headers, which never reside in the current
      (source) directory. Use angle brackets instead.
      
      Change-Id: I04f8477fdba043546064ee276475c09dc373f8f2
      Reviewed-by: default avatarJędrzej Nowacki <jedrzej.nowacki@nokia.com>
      7fa3aa4d
  22. Oct 12, 2011
  23. Oct 11, 2011
  24. Oct 10, 2011
  25. Oct 06, 2011
  26. Sep 30, 2011
  27. Sep 29, 2011
  28. Sep 16, 2011
  29. Sep 13, 2011
  30. Sep 12, 2011
    • Charles Yin's avatar
      canvas item refactors · 82b21536
      Charles Yin authored
      1.Supports tiled canvas with canvasSize, tileSize and canvasWindow
      2.Supports different rendering targets: Canvas.Image and
        Canvas.FrameBufferObject by renderTarget property
      3.Supports thread rendering when possible by threadRendering property.
      4.Refactors QSGContext2D code, move some logic to
        QSGContext2DCommandBuffer,QSGContext2DTexture,QSGContext2DTile, etc
      5.Updates/adds some canvas examples
      6.Some improvements for context2d API
         6.1 drawImage() now loads image asynchoronously and draw images
             automatically when they are ready
         6.2 adds fillRule supports
         6.3 add svg path supports
         6.4 Pixel operations (getImageData/putImageData/createImageData)
             now have better performance by using V8 indexed array accessors
         6.5 Uses QTransform instead of QMatrix
         6.6 Gradients/patterns now are V8 values, not QObjects
         6.7 Supports measureText and TextMetrics interface
         6.8 Gives not support warnings for unimplemented functions
             (drawFocusRing,setCaretSelectionRect,caretBlinkRate)
         6.9 Better error handling, throw standard DOM exceptions according
             to the HTML5 context2d spec.
         6.10 Adds shear, resetTransform to matrix operations
         6.11 Adds roundedRect, ellipse, text to path operations
         6.12 Adds new features to CanvasImageData interface
            1) adds mirror() function
            2) adds filter() function, include the following filters:
                Threshold
                GrayScale
                Brightness
                Invert
                Blur
                Blend
                Opaque
                Convolute
      7. Adds documentations
      
      Change-Id: Id19224260d6a3fdc589d1f9681c34a88a7e7b3e5
      Reviewed-on: http://codereview.qt-project.org/3621
      
      
      Reviewed-by: default avatarCharles Yin <charles.yin@nokia.com>
      82b21536