summaryrefslogtreecommitdiffstats
path: root/skia/ext/platform_canvas.h
Commit message (Collapse)AuthorAgeFilesLines
* Stop using deprecated factory API for SkDevicereed@google.com2011-07-051-1/+0
| | | | | | | Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=91504 Review URL: http://codereview.chromium.org/7273013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91508 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 91504 - Stop using deprecated factory API for SkDevicereed@google.com2011-07-051-0/+1
| | | | | | | | | Review URL: http://codereview.chromium.org/7273013 TBR=reed@google.com Review URL: http://codereview.chromium.org/7193040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91505 0039d316-1c4b-4281-b951-d872f2087c98
* Stop using deprecated factory API for SkDevicereed@google.com2011-07-051-1/+0
| | | | | | Review URL: http://codereview.chromium.org/7273013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91504 0039d316-1c4b-4281-b951-d872f2087c98
* Patch for Solaris support, mostly ifdefs and header files, plus adds ↵chromium@hybridsource.org2011-06-251-2/+2
| | | | | | | | | | | libevent configuration. BUG=30101 TEST=compiles Review URL: http://codereview.chromium.org/7238021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90494 0039d316-1c4b-4281-b951-d872f2087c98
* This change implements a first pass in the effort to remove the dependency ↵twiz@chromium.org2011-05-261-29/+47
| | | | | | | | | | | | | | of PlatformDevice within Chrome. The Skia library now provides multiple back-ends for the SkDevice class, so PlatformDevice's inheritance of SkDevice, and the assumption of instances of PlatformDevice limits the use of these new back-ends. A new set of helper functions is provided for the PlatformDevice entry points. Upon construction of a PlatformDevice, a pointer to the interface is cached in the parent SkDevice's SkMetaData. The new helper functions forward calls to the interface cached in the metadata. BUG=NONE TEST=NONE Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=86625 Reverted: http://src.chromium.org/viewvc/chrome?view=rev&revision=86625 Review URL: http://codereview.chromium.org/7019013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86823 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 86625 - This change implements a first pass in the effort to remove ↵vandebo@chromium.org2011-05-251-47/+29
| | | | | | | | | | | | | | | the dependency of PlatformDevice within Chrome. The Skia library now provides multiple back-ends for the SkDevice class, so PlatformDevice's inheritance of SkDevice, and the assumption of instances of PlatformDevice limits the use of these new back-ends. A new set of helper functions is provided for the PlatformDevice entry points. Upon construction of a PlatformDevice, a pointer to the interface is cached in the parent SkDevice's SkMetaData. The new helper functions forward calls to the interface cached in the metadata. BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/7019013 TBR=twiz@chromium.org Review URL: http://codereview.chromium.org/6987019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86629 0039d316-1c4b-4281-b951-d872f2087c98
* This change implements a first pass in the effort to remove the dependency ↵twiz@chromium.org2011-05-251-29/+47
| | | | | | | | | | | | of PlatformDevice within Chrome. The Skia library now provides multiple back-ends for the SkDevice class, so PlatformDevice's inheritance of SkDevice, and the assumption of instances of PlatformDevice limits the use of these new back-ends. A new set of helper functions is provided for the PlatformDevice entry points. Upon construction of a PlatformDevice, a pointer to the interface is cached in the parent SkDevice's SkMetaData. The new helper functions forward calls to the interface cached in the metadata. BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/7019013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86625 0039d316-1c4b-4281-b951-d872f2087c98
* Eliminate unused function.pkasting@chromium.org2011-04-251-3/+0
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/6898028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82886 0039d316-1c4b-4281-b951-d872f2087c98
* Added skia::MakeOpaque helper function needed to rid WebKit of ↵alokp@chromium.org2011-04-131-0/+3
| | | | | | | | PlatformCanvas/Device dependency. Review URL: http://codereview.chromium.org/6835025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81428 0039d316-1c4b-4281-b951-d872f2087c98
* Added skia::SupportsPlatformPaint for webkit to query whether it can use ↵alokp@chromium.org2011-04-111-0/+5
| | | | | | | | native API to draw on a particular canvas. Review URL: http://codereview.chromium.org/6820037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81107 0039d316-1c4b-4281-b951-d872f2087c98
* Eliminate skia::PlatformCanvas, a subclass of SkCanvas. Skia provides ↵alokp@chromium.org2011-04-081-0/+17
| | | | | | | | | | | | | | | | multiple types of SkCanvas classes that we would like to use. Unfortunately these classes are implemented as subclasses of SkCanvas. Subclassing SkCanvas in both Skia and Chromium makes it impossible to dynamically use any SkCanvas. There is also no reason for chromium to subclass SkCanvas. Most of the extra functionalities can be implemented by hanging meta-data from SkCanvas. We cannot eliminate skia::PlatformCanvas in one step due to WebKit's dependency on skia::PlatformCanvas. WebKit::WebCanvas is typedef as skia::PlatformDevice. It should be SkCanvas. So we need to do it in multiple steps: 1. Prepare Chromium tree for the change in WebKit::WebCanvas tyepdef. This basically means adding a couple of static_cast<skia::PlatformCanvas>(WebCanvas). 2. Change WebKit::WebCanvas typedef from skia::PlatformCanvas to SkCanvas 3. Eliminate skia::PlatformCanvas in chromium This CL accomplishes the first step on windows. WebKit BUG=https://bugs.webkit.org/show_bug.cgi?id=57563 Review URL: http://codereview.chromium.org/6783023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80955 0039d316-1c4b-4281-b951-d872f2087c98
* rename getBitmapDC to beginPlatformPaint and add calls to endPlatformPaintvandebo@chromium.org2011-04-051-2/+2
| | | | | | | | | | | This takes a step toward unifying the platform device interface between Windows and Linux and helps to make VectorPlatformDeviceSkia have less ifdefs. BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/6677142 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80474 0039d316-1c4b-4281-b951-d872f2087c98
* Build skia as a dll in windows multi-dll build. ctguil@chromium.org2011-03-171-1/+1
| | | | | | | | BUG=75686 TEST=none Review URL: http://codereview.chromium.org/6682011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78510 0039d316-1c4b-4281-b951-d872f2087c98
* Start sorting methods in class declarations.erg@google.com2011-01-071-21/+20
| | | | | | | | | | | | | | | | | | | | | | | | A lot of our headers are a mess and aren't organized. Impose the following order on files in the base/ directory: class Blah { each public/protected/private section: typedefs; enums; static constants; ctors; dtors; methods; overridden virtual methods; data members; }; BUG=68682 TEST=compiles Review URL: http://codereview.chromium.org/6081007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70749 0039d316-1c4b-4281-b951-d872f2087c98
* Wire up missing functionality in BitmapPlatformContext to allow the creation ↵brettw@chromium.org2011-01-061-0/+4
| | | | | | | | | | | | | of a skia::PlatformCanvas from a CGContextRef. TEST=test_shell_tests, try (mac,win,linux) Original review=http://codereview.chromium.org/6064007/ Patch by sjl@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70596 0039d316-1c4b-4281-b951-d872f2087c98
* Update use of SkCanvas and SkDevice to match change in Skia:vandebo@chromium.org2010-10-151-12/+3
| | | | | | | | | | | Refactor SkCanvas so that backends don't need to override it - instead take a device factory class. see: http://codereview.appspot.com/2103045/ BUG=New Skia devices required a corresponding canvas TEST=None Review URL: http://codereview.chromium.org/3590011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62813 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-261-0/+1
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* Solaris: Second set adding in Solaris as an OS optionevan@chromium.org2010-02-181-1/+2
| | | | | | | | | | TEST=compiles BUG=30101 Patch by James Choi <jchoi42@pha.jhu.edu>. Review URL: http://codereview.chromium.org/606075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39362 0039d316-1c4b-4281-b951-d872f2087c98
* FreeBSD/OpenBSD ifdefs for skiapvalchev@google.com2010-02-041-1/+1
| | | | | | Review URL: http://codereview.chromium.org/569036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38080 0039d316-1c4b-4281-b951-d872f2087c98
* Added USE_GDK, set when either TOOLKIT_GTK or TOOLKIT_VIEWS is set butbenl@chromium.org2009-09-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | not OS_WIN. Added USE_X11. Set when OS_LINUX or OS_FREEBSD is set. Added USE_BASE_DATA_PACK for base::DataPack usage, set for OS_MACOSX, OS_LINUX or OS_FREEBSD. Added USE_NSS for ... nss (for crypto). Windows and MacOS use platform-specific libraries. All of the above cause slightly odd formulations like: #if defined(OS_WIN) ... #elif defined(USE_BASE_DATA_PACK) ... #endif Possibly should also define USE_DLL_FOR_DATA, etc? Or something? Wrapped various references to struct stat64 and stat64() to use struct stat and stat() for FreeBSD - but a "man stat64" on Linux suggests that we could do the same thing for at least Linux, too, and perhaps eliminate the wrapper? git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25599 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor the PlatformContext layer to have only one class.brettw@chromium.org2009-06-141-13/+109
| | | | | | | | | | | | | | | | | | | | | | | | | Previously we had three classes of PlatformCanvas*, one for each platform. Then we had a typedef of PlatformContext to PlatformCanvas[Mac|Win|Linux] for the specific platform. This means that it was almost impossible to forward-declare PlatformCanvas and there were a bunch of unnecessary includes of platform_canvas.h in header files. This change makes there be only one platform_canvas.h header with ifdefs, which removes a decent amount of duplicated code. There is a platform-independent file, and one platform-dependent file of platform_canvas for each platform. I also renamed PlatformDevice[Mac|Win|Linux] to PlatformDevice, althouth in this case I kept the separate headers since there was much less overlap. I also broke out CanvasPaint into separate headers so this template doesn't need to be included all over the project (only a couple of files actually need it). Review URL: http://codereview.chromium.org/125109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18363 0039d316-1c4b-4281-b951-d872f2087c98
* Move the "platform" wrappers in skia/ext to the skia namespace.brettw@google.com2008-12-171-13/+10
| | | | | | Review URL: http://codereview.chromium.org/14110 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7182 0039d316-1c4b-4281-b951-d872f2087c98
* Move port/.../skia/public to skia/ext for Linux. Windows & Mac already moved ↵brettw@google.com2008-11-221-0/+30
there. This leaves forwarding headers in base/gfx, which I'll clean up in a future pass. Review URL: http://codereview.chromium.org/11808 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5873 0039d316-1c4b-4281-b951-d872f2087c98