)]}'
{
  "log": [
    {
      "commit": "01d58e43ede5ca98cbebdd166f9b0c545032c01b",
      "tree": "6d9976c551fd6ec9f104e5a849c0ad743946af6c",
      "parents": [
        "9335f5b2fde244614184f45d29cc574d1ba8cbba"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 19 21:54:02 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 19 21:55:10 2011 -0800"
      },
      "message": "Add rounded rects and circles support to OpenGLRenderer.\n\nChange-Id: I6cedf2b495d58de7c0437096809fa9e4518a1b8c\n"
    },
    {
      "commit": "42f3a4b7c35dd1ea1922356eb3611af8cde05179",
      "tree": "aac476548acfc97b0dd5785ce06008c40b98753a",
      "parents": [
        "a3311ed7a9ddd7ecb066f4731ce4bc3bd3ffd939"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 19 13:42:26 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 19 13:42:26 2011 -0800"
      },
      "message": "Make embedded hardware layers work.\nBug #3369474\n\nChange-Id: Ib6d7fb44eedda9dc2933b5e1b176f307968af91d\n"
    },
    {
      "commit": "807daf7df615b60ce6fc41355aabe3aa353cebab",
      "tree": "96eeb8bde5042241238946f787d1dbc3a416d6e6",
      "parents": [
        "d6cd572df8067c40b3e0e7e74e58cdb456b33e92"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 18 11:19:19 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 18 11:19:19 2011 -0800"
      },
      "message": "Add support for skew()\n\nChange-Id: Ia3a9a867f74fd78b61f75179e3788fdc2f0cacd0\n"
    },
    {
      "commit": "fb13abd800cd610c7f46815848545feff83e5748",
      "tree": "299f1c241fc360cbf3016adee07ac3db46750203",
      "parents": [
        "90fc03bc493fc2c984599b198b9d50bc387134f2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 16 15:16:38 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 16 15:16:38 2011 -0800"
      },
      "message": "Fix 9patch rendering in ExpandableListView.\n\nChange-Id: I60843d61a40b0cb7dd09923cb4489a5a76f20486\n"
    },
    {
      "commit": "6c319ca1275c8db892c39b48fc54864c949f9171",
      "tree": "d89e4222487db2ccd9a6b03b0d55f8361a7d1856",
      "parents": [
        "b796889671c089fb7e2fc4498aa701d3e8e552a3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 11 14:29:25 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 11 17:53:19 2011 -0800"
      },
      "message": "Better backend for hardware layers.\n\nWith this new backend, a hardware layer is only recreated when\nits associated view is udpated. This offers fast composition\nin GL and fast update of the layer in GL as well.\n\nChange-Id: I97c43a612f5955c6bf1c192c8ca4af10fdf1d076\n"
    },
    {
      "commit": "171c592f0b7066acf279863c8a52ddabea49d3db",
      "tree": "eebf9a8c82c6a6d9db6edbf077b9299a96ae36e4",
      "parents": [
        "f0fe6d311d183c5fcf45d5e3e995fc8f9ed12f8b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 06 10:04:23 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 06 18:34:30 2011 -0800"
      },
      "message": "New layers API for Views.\n\nThis API can be used to back a view and its children with either a\nsoftware layer (bitmap) or hardware layer (FBO). Layers have\nvarious usages, including color filtering and performance\nimprovements during animations.\n\nChange-Id: Ifc3bea847918042730fc5a8c2d4206dd6c9420a3\n"
    },
    {
      "commit": "9f0696709b403065d98936e7884536dc98349a59",
      "tree": "b1ae3e0a86e0047c53f86865b477c2b608cdae22",
      "parents": [
        "67ba204aa23e7d5a96ad241a1623e44976b51741"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 06 12:57:49 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 06 12:57:49 2011 -0800"
      },
      "message": "We are now Honeycomb.\n\nChange-Id: I69dadd57184d2d80f426c1c862ed0a040c8baf03\n"
    },
    {
      "commit": "ec31a7f119608b94ea1bb41275811027a360bf30",
      "tree": "9e9d175cbbd71b6bf142806f82268680a1bc2176",
      "parents": [
        "d9c64369cf9be6568af2d79c35fb470cc261730d"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Dec 14 14:58:59 2010 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Dec 14 14:58:59 2010 -0800"
      },
      "message": "Create some layout files for HwAccelerationTest\n\nThe goal is use the app to test layout lib, so layout\nfiles are needed, and custom views must be instantiable\n(ie public)\n\nChange-Id: I46bb3d8af6e4d7973d041aa618f1c7762efd93d0\n"
    },
    {
      "commit": "a957eea78557cb47a91d44d9e6ee641c58cf1c07",
      "tree": "bc6ee438bdb116feee2fef40ada876367544dcbb",
      "parents": [
        "1e8b5fea90e6160f8cdd101767d0a8f6842751fd"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Dec 08 18:34:42 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Dec 08 19:06:58 2010 -0800"
      },
      "message": "New, better line drawing implementation.\nBug #3207544\nBug #3225875\n\nChange-Id: Ibdd1dfc64e01625d5c441f39eb0aa3ee647f6ff5\n"
    },
    {
      "commit": "5ec9924d24495822b589f1a17996655d66273b30",
      "tree": "60a92b5ceb25b980be02cef82ef56ecf55cb7f04",
      "parents": [
        "98444a944c9126898bc4c370f831a79bb3b30bd8"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Nov 03 16:19:08 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Nov 03 16:19:08 2010 -0700"
      },
      "message": "Fix rendering issue with layers.\n\nChange-Id: I1d511ab2707000762a942d32c300a9944ab38603\n"
    },
    {
      "commit": "e5ebcb0107a939395e03592fd44c746cd09e311d",
      "tree": "1ee2cc9fb92d3de28f40658df2a7df1da79f64f8",
      "parents": [
        "c65217e4ec3e6c80834988ec3bc66a90778ee4b0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 15 13:57:28 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 15 13:57:28 2010 -0700"
      },
      "message": "Fix clipping issue in StackView.\n\nChange-Id: I7ec28f25c3993a2bd7ef6399ba1923839d239905\n"
    },
    {
      "commit": "7975fb6d12cb1eb96b75e3a563627cd4c4081bd6",
      "tree": "5be6b4315c9b3ccffb980fe9d99fa74340bf3430",
      "parents": [
        "d1034c1967178302cad9085d15ae9849497babb2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 01 16:36:14 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 01 16:36:14 2010 -0700"
      },
      "message": "Apply bilinear filtering to text.\n\nChange-Id: I2c81ad657ee2a11a2139e0b11ae3749db54c0749\n"
    },
    {
      "commit": "0bb5667b4ef91fefd0500fae0186789d15d54e0e",
      "tree": "92dfccfc1a428b6124e2a41061cde6a403976cd1",
      "parents": [
        "557ed7aa290497fb5764acb3f577edbe78bad5b9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Oct 01 00:25:02 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Oct 01 00:25:02 2010 -0700"
      },
      "message": "Fix INVALID_OPERATION error with layers rendering.\n\nThis change is a workaround for a driver bug that causes an INVALID_OPERATION\nto be thrown on every glCopyTexSubImage() call. This change also adds a new\ntest for gradients local matrices.\n\nChange-Id: I41b7437481026702d0a3a9677f099b4557c0a84e\n"
    },
    {
      "commit": "ee916f14cbd1fe1422c063ce2ef7b185e2bc5c6f",
      "tree": "4fd53bcd273d42fa1aebb064b18563aa293467b1",
      "parents": [
        "b5ab4173e0927e4668a45298c9900cd8007584e1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 20 17:53:08 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 20 17:54:17 2010 -0700"
      },
      "message": "Add support for SweepGradient in the GL renderer.\n\nChange-Id: I7aa397ed4e34655ead9ba1f5b4ce087665e0f022\n"
    },
    {
      "commit": "759ea80dca64ad652110a129e0d8bf93fea79f61",
      "tree": "910900df67d9f9fed51398de2a03f40e2abefec5",
      "parents": [
        "bf434114cbf55b216fdc76fc8d65a75e84c9dab5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 16 20:49:46 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 16 20:49:46 2010 -0700"
      },
      "message": "Add support for drawLines(), with anti-aliasing\n\nChange-Id: I16c0593c5671490909dec13a85df601e1428a1a6\n"
    },
    {
      "commit": "8411f336c786379c5a03106e9ed3bc8622b579a5",
      "tree": "a84342e818982f1075d6c1722706e3bf4bd14ddb",
      "parents": [
        "1510770165b7bc675e5171560e907c0269dbe0fa"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 13 17:27:57 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 13 17:27:57 2010 -0700"
      },
      "message": "Fix rendering issue with layers intersecting the clip rect.\n\nChange-Id: Icbe35194fa219ef13ce639d33631235f8d7df3d7\n"
    },
    {
      "commit": "f607bdc167f66b3e7003acaa4736ae46d78c1492",
      "tree": "b3b4fb761b25d08ba836ff822f6e72d85b5be695",
      "parents": [
        "d14f0dfd58af653a2d41424d472fe97de6af0a78"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 10 19:20:06 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Sep 12 12:24:12 2010 -0700"
      },
      "message": "Correct implementation of saveLayer().\n\nChange-Id: I5375126636913e0a84f2d6bbd0ebe40d2e4f2763\n"
    },
    {
      "commit": "a5aed0d58962a24c44728ffc46dc9e1ba2f9fda5",
      "tree": "4194d14711b2cba0e8192e5f1c0764f530bc7309",
      "parents": [
        "d90f23e24a4d1768d5a7ed0e7072e67af6330a45"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 09 14:42:43 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 09 14:42:43 2010 -0700"
      },
      "message": "Add support for advanced blend modes with the framebuffer.\n\nThis adds the ability to blend with the framebuffer using Darken,\nLighten, Add, Multiply, Overlay and Screen.\n\nChange-Id: Iae01a53797d4ad39c373cba6ff2a42293129da1a\n"
    },
    {
      "commit": "53389bdcdf6ffaaec533b73bc1d0abc5807ec7f6",
      "tree": "2c62b2d9a94bb5db26f62a17912c9bade47f1915",
      "parents": [
        "018b0d2918e59b28852d07b90c2d3153533267aa"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Sep 07 17:16:32 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Sep 07 17:16:32 2010 -0700"
      },
      "message": "Correctly set the viewport on window resize.\n\nChange-Id: Idec325264d85feda76d4cda00fa511aaac82cf64\n"
    },
    {
      "commit": "4299c0f2429a266e2390a7a9d5dbe5a8e8d7ce38",
      "tree": "40a635863338f197f59e9ed2c6f53a5863d3a51e",
      "parents": [
        "b45c0c9774bd19a9dbe77d149abae4e124b08bf6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 27 16:56:50 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 27 16:56:50 2010 -0700"
      },
      "message": "Add test for gamma correction.\n\nChange-Id: Id2a311bc116438d3627a943cb5fb1ba8dc121bb0\n"
    },
    {
      "commit": "a80d32f7b69aa37026ab99e4ade1ad86dae76a81",
      "tree": "208c28a7cef27756daa88030f4c71ca2a721f41a",
      "parents": [
        "29378192f7ac4162d54fea4e34fddd42fd1f00d2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 20 18:42:37 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 20 18:42:37 2010 -0700"
      },
      "message": "Add support for textScaleX.\n\nThis will not look great because we render fonts using bitmaps, not\npaths.\n\nChange-Id: I01b87b81bfbdbfa28460a5d5309d38e2a65e77c4\n"
    },
    {
      "commit": "29378192f7ac4162d54fea4e34fddd42fd1f00d2",
      "tree": "3ec53b8cf13e0bb68bf790df0c61512bbebd1c8d",
      "parents": [
        "015912e7f62989805ed90bc60226e0bbbfbab9c1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 20 13:51:47 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 20 15:49:27 2010 -0700"
      },
      "message": "Test setTextScaleX()\n\nChange-Id: Iafa421def64a8f9a83b320b6cf3cc5286515c355\n"
    },
    {
      "commit": "e9e7fd0813f1485d20c6cd0014d59aff53c35d84",
      "tree": "27439301826c76d553486539d128c84c648d004f",
      "parents": [
        "207b3ab604bcbe47fa55f26f358cde60cf8a784d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 19 14:45:42 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 19 14:45:42 2010 -0700"
      },
      "message": "Update OpenGLRenderer test to test opaque ARGB8888 bitmaps.\n\nChange-Id: I7159825f4b1d6f5a1cd09ec091994801b52b6bda\n"
    },
    {
      "commit": "0a41749953f35d33f61b3119e3161a82bb5fa59e",
      "tree": "3e0827c18c19e3ad8745ce133561be8a275f0345",
      "parents": [
        "5b53f9186e7812c93bc578d18e92cb123481fcbc"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 16 20:26:20 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 16 20:26:20 2010 -0700"
      },
      "message": "Cleanup, better code reuse.\n\nChange-Id: Ib86a7309ae579cce3b7cf464782c34e70a74c616\n"
    },
    {
      "commit": "48daa54d31fc59ec969dcff65eb3cbb0ce879a8d",
      "tree": "f4ad358f86c6c66b457129ca2aa863be01a47a20",
      "parents": [
        "a674ab74e359ac73b4c4dd6b1a3a771836ac7e40"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 10 19:21:34 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 10 21:42:40 2010 -0700"
      },
      "message": "Add extra blending modes.\n\nThis change adds the following blending modes for shaders and color filters:\nAdd\nMultiply\nScreen\nOverlay\nDarken\nLighten\n\nChange-Id: Iff22f5ce6041b43c71b1857d73013f5010ab3413\n"
    },
    {
      "commit": "61c8c9c5b2006d18e9310b6521c65b36ffe75ce4",
      "tree": "f2a792387a3177a2e7a25290ec48bd79c62ef3e6",
      "parents": [
        "8cc82c6f4802937309dce6cba310e31358cdf6bf"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 09 20:48:09 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 10 12:22:01 2010 -0700"
      },
      "message": "Fix tons of bugs and add new text rendering support.\n\nChange-Id: I326c66b10784006f6df2f12d38e120cef94cd0d7\n"
    },
    {
      "commit": "ba7186e0828b6fa53dadff75bc51547d5150c3d1",
      "tree": "cd5c17d071aea1c0fcf2e0c98a85f294a77d249a",
      "parents": [
        "001951499c0c6f47ad22d6b9fd7b187572dbdba5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 05 19:08:32 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 05 19:08:32 2010 -0700"
      },
      "message": "Add 3d transformation test.\n\nChange-Id: Ia163af802e5a320490196461a97d5f797b71abb4\n"
    },
    {
      "commit": "7fbcc0492fca03857e3c45064f4aa040af817d55",
      "tree": "a2422b4694ae589a60f2571070c53c7b918ec732",
      "parents": [
        "bc9151bcad5d1b1d14bb900fcc50ba08c06f87d4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Aug 04 15:40:07 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 05 17:23:49 2010 -0700"
      },
      "message": "Add support for paths.\n\nRendering is implementing by rasterizing the paths into A8 textures.\nThis cna be extremely inefficient if the path changes often.\n\nChange-Id: I609343f304ae38e0d319359403ee73b9b5b3c93a\n"
    },
    {
      "commit": "529b60a3b16ac3dff24f2403d760ab8ebc9670ff",
      "tree": "81415ba149de613a165d94210938755982951017",
      "parents": [
        "cf9a44cdf3647c8b31499ad6250f63259c0e34e2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 03 18:05:47 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Aug 04 10:55:46 2010 -0700"
      },
      "message": "Add android:hardwareAccelerated to Activity.\n\nHardware acceleration can now be enabled/disabled locally on each activity\ndeclared in the manifest. It can also be enabled/disabled directly on a\nwindow through the WindowManager.LayoutParams.\n\nChange-Id: I91dd0b26c4e7eb8cd7288e523ed6b7bda6d0990b\n"
    },
    {
      "commit": "db1938e0e6ef816e228c815adccebd5cb05f2aa8",
      "tree": "d40e91a873bca6750083fdb1713a12b469ebad4d",
      "parents": [
        "16f8c620abd0ea07e704b6997a66a45ad3590dea"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 02 18:50:22 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 02 18:50:56 2010 -0700"
      },
      "message": "Add support for ColorFilters.\n\nColor filters are fully supported and can be used with shaders.\n\nChange-Id: Id90ccf1c81cb462f2431f366f3f8f710d7971e04\n"
    },
    {
      "commit": "b82da65cb1601be504241f36778395cd6cb9f87b",
      "tree": "19fc51fb41e806817a4895212b8111fa9131af04",
      "parents": [
        "b422107d1d599e5d43cc47cd7e1342976b6b5b1a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 30 11:36:12 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 30 11:40:21 2010 -0700"
      },
      "message": "Fix improper clipping after a save()\n\nChange-Id: I13426a67f20d77e2710bd500d82884098f4be97c\n"
    },
    {
      "commit": "09147fbdc8206a0cac78bfe9083e7e15b3c5689c",
      "tree": "16f155fd722b6fba13508a09c29b9e8ea5adfdd3",
      "parents": [
        "612f8da2bc994043f26a278a9b1c2b681eabc4c9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 22 13:08:20 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 22 13:08:20 2010 -0700"
      },
      "message": "Add support for text culling.\n\nChange-Id: Ibf0adacdc5c64d40a8000b21d7cb0797d63efe29\n"
    },
    {
      "commit": "694b519ac647fe998fd396fe0784cc8e179aadc4",
      "tree": "80a5e423f90aba3ab74645ac7f3b2cbfd838c757",
      "parents": [
        "0119ba5bd3335fe026927eeb65de535a7bd8c838"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jul 21 21:33:20 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jul 21 21:33:20 2010 -0700"
      },
      "message": "Add text rendering.\n\nChange-Id: Ibe5a9fa844d531b31b55e43de403a98d49f659b9\n"
    },
    {
      "commit": "d27977d1a91d5a6b3cc9fa7664ac7e835e7bd895",
      "tree": "a8290b6045c8a13ea250e2dc00bb904b993a5bdc",
      "parents": [
        "7ba6617a53424b85711313478459a0a8cda8c3da"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jul 14 19:18:51 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 15 14:44:42 2010 -0700"
      },
      "message": "Add support for BitmapShader.\n\nThis change also fixes an issue with the clip and layers.\n\nChange-Id: I5fd9832098d8cf7ae8eb781ff9bffe7defaea279\n"
    },
    {
      "commit": "3d58c03de0d8877b36cdb78b0ca8b5cac7f600e2",
      "tree": "81d20a1aac231574266c696b82c36a67ff6772be",
      "parents": [
        "756088482fb102f0c728151553210dca254b575f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jul 14 16:34:53 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jul 14 16:35:43 2010 -0700"
      },
      "message": "Do not apply transforms when using drawColor().\n\nThis fixes an issue in the way the clip transformations were applied.\n\nChange-Id: I91e7b5d15baf244d1280e48938282bb33609081d\n"
    },
    {
      "commit": "6926c72e25b8dec3dd4b84af0819fa1937ae7296",
      "tree": "b59a3b01ddbc9ae8c0b5f11eaa6fcf27a9f9511d",
      "parents": [
        "260e102162322958cf17dbd895cd6bd30dc87e32"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 12 20:20:03 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 12 20:20:03 2010 -0700"
      },
      "message": "Correctly support pre-multiplied alpha, optimizations, more stuff.\n\nAdd support for the following drawing functions:\n- drawBitmap(int[]...)\n- drawPaint()\n\nOptimizes shader state changes by enabling/disabling attribute arrays\nonly when needed.\n\nAdds quick rejects when drawing trivial shapes to avoid unnecessary\nOpenGL operations.\n\nChange-Id: Ic2c6c2ed1523d08a63a8c95601a1ec40b6c7fbc9\n"
    },
    {
      "commit": "f7f93556c8fcc640ab5adef79d021a80a72a645a",
      "tree": "71fc93983fc54c32a0051890b719e6f20ec90003",
      "parents": [
        "26be805f4242af9d511584663e88dfae235d74a4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 08 19:17:03 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 08 19:19:07 2010 -0700"
      },
      "message": "Draw n-patches using OpenGL.\n\nCurrently only tested with title bars and buttons.\n\nChange-Id: I8263a9281898dc0e943b1b8412827fe55639b9d6\n"
    },
    {
      "commit": "8ba548f81d1ab5f1750cbf86098c4a14e0b8bead",
      "tree": "cac0b8552a14e0b01809d1d67840953e144d7383",
      "parents": [
        "e07f6eeb3af2defe99fbd63a73b8e636139edd1a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 19:21:21 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 19:21:21 2010 -0700"
      },
      "message": "Add implementation for drawBitmap(Bitmap, Rect, Rect, Paint)\n\nChange-Id: I10904d2325a5431d15801aebcec1048715678e8c\n"
    },
    {
      "commit": "c1396e93b6a5286a5183c00c781b62e940a12c1f",
      "tree": "41da22a7756936c8cbc4687286e9b854235cd3f5",
      "parents": [
        "efcd77407b321498a43ca380c8f67b84eb5a2d6e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 17:56:19 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 17:56:19 2010 -0700"
      },
      "message": "Add implementation for drawBitmap().\n\nChange-Id: Iada9325f3c5642b61c2e0c4cd80bcfbc92cb491e\n"
    },
    {
      "commit": "ce0537b80087a6225273040a987414b1dd081aa0",
      "tree": "31682a01c12091c552217186604fca32f43e98ff",
      "parents": [
        "81ea83d10883886013bc95eac2fe032acf1e7aa9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 29 21:05:21 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 15:21:01 2010 -0700"
      },
      "message": "Add hooks for drawBitmap().\n\nChange-Id: I58e962c3a8b2bc75c2605fe369ad3002579d86e0\n\nAdd texture cache.\n\nChange-Id: I1c0e5581d228869e114438258a1014e33e024ad7\n"
    },
    {
      "commit": "d55a86120dd1e8ebcc6906c9ffd463f7460348da",
      "tree": "11ee1cc35750ba27df4fdb80540c3a5752cdd500",
      "parents": [
        "8f704d89dc38c6e25b23721f6a784956521f283a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 28 17:42:46 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 28 18:52:24 2010 -0700"
      },
      "message": "Add support for saveLayer().\n\nsaveLayer() is affected by the paint\u0027s alpha and xfermode.\n\nChange-Id: I28693a9337052643adccdb4889a8f228d4e17903\n"
    },
    {
      "commit": "026c5e16704e817cac7d9c382914c947e34f87e0",
      "tree": "6398f104ab860dd65caf02336ea96fff3c79dadf",
      "parents": [
        "4aef697d58bc142b96953cb2623b06981af2abc9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 28 17:12:22 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 28 17:12:22 2010 -0700"
      },
      "message": "Implement support for PorterDuff\u0027s blending modes.\n\nThe blending modes are currently hooked up only when drawing filled rects but the\ncode is reusable for other primitives. This will allow implementation of saveLayer().\nThis method is required to support the fade effects used throughout the standard\nAndroid UI.\n\nChange-Id: I396023d123436f16cdafc606e358e4eb80c9df2c\n"
    },
    {
      "commit": "e4d011201cea40d46cb2b2eef401db8fddc5c9c6",
      "tree": "b890cdac7775120beb89308de1b593ec6af76a0e",
      "parents": [
        "5e81e5b96b20bddf90adff33d50f5d003ab619ad"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 16 18:44:05 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jun 17 13:40:11 2010 -0700"
      },
      "message": "Add libhwui, to hardware accelerate the Canvas API using OpenGL ES 2.0.\n\nThis is the initial checkin to setup the library and turn on OEGL ES 2.0\nin ViewRoot, not a functional renderer.\n\nChange-Id: I6655c54166e2967da2e21e7d6dcfba78bf113b44\n"
    },
    {
      "commit": "0bbae0836426ba2704e38e7f90a9d0ca502ab71d",
      "tree": "1c10bf9a0585a027b38d85683ebc8c3aae8790e0",
      "parents": [
        "7e28c0108b2926832f29503682f950ab7506f684"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 15 18:03:40 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 15 18:03:40 2010 -0700"
      },
      "message": "Add new API to check whether a Bitmap was modified.\n\nBitmap.getGenerationId() can be used by caches to find out if a Bitmap has been\nmodified. This simply exposes an existing Skia API.\n\nThis change also adds a small test app for Canvas hardware acceleration. The new\nBitmap API is required to implement a texture cache.\n\nChange-Id: I8547b146cd14c8afe1a2327fcd6d71b1b1cb68fc\n"
    }
  ]
}
