summaryrefslogtreecommitdiffstats
path: root/cc/texture_draw_quad.h
Commit message (Collapse)AuthorAgeFilesLines
* Putting back: Add point-based UV coordinate on TextureLayerjscholler@chromium.org2013-01-181-3/+6
| | | | | | | | | | | | | | Revert "Revert 177288" TBR=ilevy@chromium.org This reverts commit 3543975945a5667aa3fb48c6d0e1b6312d1ed293. BUG=168927 Review URL: https://chromiumcodereview.appspot.com/11902005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177541 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 177288ilevy@chromium.org2013-01-171-6/+3
| | | | | | | | | | | | | | | | | | | | | | | > cc: Add point-based UV coordinate on TextureLayer > > Previously, the uv coordinates was using gfx::RectF as a struct. > This was limitating because it could not handle negative width > and heights. Soring them as 2 gfx::PointF for the Top-Left and > Bottom-Right points aleviate that restriction. > The current implementation of the phone UI rely on this feature. > > BUG=168927 > > Review URL: https://chromiumcodereview.appspot.com/11783094 This is breaking the android internal chrome build, we need green for a release cut later tonight. Let's reland tomorrow with the corresponding downstream fix. TBR=jscholler@chromium.org Review URL: https://codereview.chromium.org/11959026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177360 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Add point-based UV coordinate on TextureLayerjscholler@chromium.org2013-01-171-3/+6
| | | | | | | | | | | | | | Previously, the uv coordinates was using gfx::RectF as a struct. This was limitating because it could not handle negative width and heights. Soring them as 2 gfx::PointF for the Top-Left and Bottom-Right points aleviate that restriction. The current implementation of the phone UI rely on this feature. BUG=168927 Review URL: https://chromiumcodereview.appspot.com/11783094 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177288 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Implement DelegatingRender::drawFrame() method.danakj@chromium.org2013-01-161-0/+3
| | | | | | | | | | | | | | | | | | The method sends the render passes it is given to the parent compositor via the output surface. It should include a valid frame metadata with it. Tests: DelegatingRendererTestDraw.runSingleThread DelegatingRendererTestDraw.runMultiThread DelegatingRendererTestResources.runSingleThread DelegatingRendererTestResources.runMultiThread R=piman BUG=123444 Review URL: https://codereview.chromium.org/11777025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177073 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 175690estade@chromium.org2013-01-091-3/+0
| | | | | | | | | | | | | | | | | | | | | | > cc: Implement DelegatingRender::drawFrame() method. > > The method sends the render passes it is given to the parent compositor via > the output surface. It should include a valid frame metadata with it. > > Tests: > DelegatingRendererTestDraw.runSingleThread > DelegatingRendererTestDraw.runMultiThread > DelegatingRendererTestResources.runSingleThread > DelegatingRendererTestResources.runMultiThread > > R=piman > BUG=123444 > > Review URL: https://chromiumcodereview.appspot.com/11777025 TBR=danakj@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175694 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Implement DelegatingRender::drawFrame() method.danakj@chromium.org2013-01-091-0/+3
| | | | | | | | | | | | | | | | | | The method sends the render passes it is given to the parent compositor via the output surface. It should include a valid frame metadata with it. Tests: DelegatingRendererTestDraw.runSingleThread DelegatingRendererTestDraw.runMultiThread DelegatingRendererTestResources.runSingleThread DelegatingRendererTestResources.runMultiThread R=piman BUG=123444 Review URL: https://chromiumcodereview.appspot.com/11777025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175690 0039d316-1c4b-4281-b951-d872f2087c98
* Adding support for per vertex opacity on textured layerjscholler@chromium.org2012-12-151-0/+3
| | | | | | | | | BUG=165509 Review URL: https://chromiumcodereview.appspot.com/11570027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173310 0039d316-1c4b-4281-b951-d872f2087c98
* explicitly validating assumptions about positive matrix scalewhunt@chromium.org2012-12-131-0/+2
| | | | | | | | | | | | Due to my lack of git know-how this ended up being the entire clipping patch plus my last validation rather than just a few line fix. Given that the last one got reverted as a test anyway perhaps this is just as well? BUG=165237 Review URL: https://chromiumcodereview.appspot.com/11481004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172788 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 171850jamesr@chromium.org2012-12-101-2/+0
| | | | | | | | | | | | | | | > This patch makes quad-clipping to a scissor window an explicit operation at quad-generation time. If the transform for the quad is a scale and or a transform clipping is a simple bounding box intersection and uv-recomputation. > > BUG=161871 > > > Review URL: https://chromiumcodereview.appspot.com/11418297 TBR=whunt@chromium.org BUG=164997 Review URL: https://codereview.chromium.org/11517007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172152 0039d316-1c4b-4281-b951-d872f2087c98
* This patch makes quad-clipping to a scissor window an explicit operation at ↵whunt@chromium.org2012-12-071-0/+2
| | | | | | | | | | | quad-generation time. If the transform for the quad is a scale and or a transform clipping is a simple bounding box intersection and uv-recomputation. BUG=161871 Review URL: https://chromiumcodereview.appspot.com/11418297 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171850 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Make the DrawQuad subclasses into a struct-like classes.danakj@chromium.org2012-11-201-16/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've replaced the create() and constructor on each class with a SetNew() method: void SetNew(const SharedQuadState* shared_quad_state, gfx::Rect rect, ...); This method sets everything in the base class, based on the subclass' interpretation of the minimal parameters given to it. This is used when creating a new quad of this type - hence the name. The "..." represents all the quad-type-specific arguments. I've also added a new SetAll() method, that takes all of the data held by this quad type, and simply passes on the appropriate things to the super class: void SetAll(const SharedQuadState* shared_quad_state, gfx::Rect rect, gfx::Rect opaque_rect, gfx::Rect visible_rect, bool needs_blending, ...); This method is used for deserializing, or other cases where you have all the data for the quad well defined, and want to set every field at once. The "..." represents all the quad-type-specific arguments. Added tests for SetAll() in cc_unittests:DrawQuadTest.* TBR=aelias BUG=152337 Review URL: https://chromiumcodereview.appspot.com/11411050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168903 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Convert DrawQuad to chromium style.danakj@chromium.org2012-11-171-2/+0
| | | | | | | | | | | | | | | | | | We leave the methods as methods instead of structifying it in this CL. But the opaqueRect() helper method on DrawQuad is moved out to the call sites. DrawQuad::needsBlending() is moved to DrawQuad::ShouldDrawWithBlending() which combines together various states. DrawQuad::opaqueRect() is computed in QuadCuller, and is used more cleverly in ShouldDrawWithBlending(). TBR=aelias BUG=152337 Review URL: https://chromiumcodereview.appspot.com/11420044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168423 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove opaque flags from SharedQuadState and DrawQuaddanakj@chromium.org2012-11-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Now we will use the opaqueRect (already present on DrawQuad) to tell when things are opaque or not. Each Quad constructor that can be opaque take an opaqueRect. Generally, callers set it equal to the quadRect when contentsOpaque(). TiledLayerImpl can set it to a smaller rect sometimes since it has more knowledge. This made the scrollbar code a bit nicer for the thumb so that it doesn't need to set needs_blending anymore, as the thumb can be marked non-opaque. DebugBorderQuad sets an empty opaqueRect now, so it doesn't need to set needs_blending. Covered by existing tests. BUG=152337 R=enne Review URL: https://chromiumcodereview.appspot.com/11412044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168387 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Switch the DrawQuad enum names to chromium style and remove pragmasdanakj@chromium.org2012-11-161-4/+0
| | | | | | | | | | | Some cleanup in the direction of making DrawQuad a chromified struct. R=enne BUG=152337 Review URL: https://codereview.chromium.org/11417035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168301 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Fix header include guards of our header files.tfarina@chromium.org2012-11-051-3/+3
| | | | | | | | | | | | | Fixed with a hacky python script :/ BUG=144576,144577 TEST=$ cpplint.py cc/*.h 2>&1 | grep header_guard. And verified it doesn't complain. R=enne@chromium.org,jamesr@chromium.org Review URL: https://chromiumcodereview.appspot.com/11368063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165895 0039d316-1c4b-4281-b951-d872f2087c98
* Make cc a componentpiman@chromium.org2012-11-021-1/+2
| | | | | | | | BUG=154052 Review URL: https://codereview.chromium.org/11365025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165748 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove CC*.h temporary includes, part 6/4.tfarina@chromium.org2012-10-241-1/+1
| | | | | | | | | | | | BUG=155413 TEST=cc_unittests R=enne@chromium.org,jamesr@chromium.org TBR=jamesr@chromium.org Review URL: https://chromiumcodereview.appspot.com/11228059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163749 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Rename cc classes and members to match filenamesenne@chromium.org2012-10-221-4/+4
| | | | | | | | | | | Fixed reland of https://chromiumcodereview.appspot.com/11189043/ TBR=jam@chromium.org,jamesr@chromium.org BUG=155413 Review URL: https://codereview.chromium.org/11231054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163429 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Use ui/gfx geometry types for the CCRenderPass and CCDrawQuad classes.danakj@chromium.org2012-10-201-5/+5
| | | | | | | | | | | | | | | | | We use these geometry types for CCDrawQuad types and in CCRenderPass, and so we also make use of them in the CCRenderer classes. A minor number of copies back to cc:: (WebCore) geometry types do occur in the renderer implementations for now until we migrate the rest of the compositor. Covered by existing tests. BUG=152473 R=enne,jamesr Review URL: https://chromiumcodereview.appspot.com/10984053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163142 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "cc: Rename cc classes and members to match filenames"enne@chromium.org2012-10-191-4/+4
| | | | | | This reverts commit 184fac5add06d5f4670fa6be4a4d3b39232d51bb. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163059 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Rename cc classes and members to match filenamesenne@chromium.org2012-10-191-4/+4
| | | | | | | | BUG=155413 Review URL: https://codereview.chromium.org/11189043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163052 0039d316-1c4b-4281-b951-d872f2087c98
* [cc] Rename all cc/ filenames to Chromium styleenne@chromium.org2012-10-121-0/+38
| | | | | | | | BUG=155413 Review URL: https://codereview.chromium.org/11122003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161671 0039d316-1c4b-4281-b951-d872f2087c98
* [cc] Land preliminary empty headers for libcc renamesenne@chromium.org2012-10-121-0/+3
Landing empty headers first will prevent gyp conflicts later. BUG=155413 Review URL: https://chromiumcodereview.appspot.com/11116002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161526 0039d316-1c4b-4281-b951-d872f2087c98