The '#include "SkGLDevice.h"' from include/core/SkDevice.h requires internal
Skia code to be added to the include search paths when using the deprecated API.
This change adds back SkGLCanvas.cpp to avoid exposing SkGLDevice.h to the
public API.
The change also includes an explicit virtual destructor on SkDeviceFactory to
silence a -Wnon-virtual-dtor warning and allow for -Werror.
Original Issue: http://codereview.appspot.com/
3009041/
Review URL: http://codereview.appspot.com/
2994042
git-svn-id: http://skia.googlecode.com/svn/trunk@623
2bbb7eff-a529-9590-31e7-
b0007b416f81
/*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*/
class SkDeviceFactory {
public:
+ virtual ~SkDeviceFactory();
virtual SkDevice* newDevice(SkBitmap::Config config, int width, int height,
bool isOpaque, bool isForLayer) = 0;
};
/*
- * Copyright (C) 2006 The Android Open Source Project
+ * Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#define SkGLCanvas_DEFINED
#include "SkCanvas.h"
-#include "SkGLDevice.h"
// Deprecated. You should now use SkGLDevice and SkGLDeviceFactory with
// SkCanvas.
class SkGLCanvas : public SkCanvas {
public:
- SkGLCanvas() : SkCanvas(SkNEW(SkGLDeviceFactory)) {}
-
- static size_t GetTextureCacheMaxCount() {
- return SkGLDevice::GetTextureCacheMaxCount();
- }
- static void SetTextureCacheMaxCount(size_t count) {
- SkGLDevice::SetTextureCacheMaxCount(count);
- }
-
- static size_t GetTextureCacheMaxSize() {
- return SkGLDevice::GetTextureCacheMaxSize();
- }
- static void SetTextureCacheMaxSize(size_t size) {
- SkGLDevice::SetTextureCacheMaxSize(size);
- }
-
- static void DeleteAllTextures() {
- SkGLDevice::DeleteAllTextures();
- }
-
- static void AbandonAllTextures() {
- SkGLDevice::AbandonAllTextures();
- }
+ SkGLCanvas();
+
+ static size_t GetTextureCacheMaxCount();
+ static void SetTextureCacheMaxCount(size_t count);
+
+ static size_t GetTextureCacheMaxSize();
+ static void SetTextureCacheMaxSize(size_t size);
+
+ static void DeleteAllTextures();
+
+ static void AbandonAllTextures();
};
#endif
-
#include "SkDraw.h"
#include "SkRect.h"
+SkDeviceFactory::~SkDeviceFactory() {}
+
SkDevice::SkDevice() {}
SkDevice::SkDevice(const SkBitmap& bitmap) : fBitmap(bitmap) {}
--- /dev/null
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "SkGLCanvas.h"
+#include "SkGLDevice.h"
+
+SkGLCanvas::SkGLCanvas() : SkCanvas(SkNEW(SkGLDeviceFactory)) {}
+
+// static
+size_t SkGLCanvas::GetTextureCacheMaxCount() {
+ return SkGLDevice::GetTextureCacheMaxCount();
+}
+
+// static
+void SkGLCanvas::SetTextureCacheMaxCount(size_t count) {
+ SkGLDevice::SetTextureCacheMaxCount(count);
+}
+
+// static
+size_t SkGLCanvas::GetTextureCacheMaxSize() {
+ return SkGLDevice::GetTextureCacheMaxSize();
+}
+
+// static
+void SkGLCanvas::SetTextureCacheMaxSize(size_t size) {
+ SkGLDevice::SetTextureCacheMaxSize(size);
+}
+
+// static
+void SkGLCanvas::DeleteAllTextures() {
+ SkGLDevice::DeleteAllTextures();
+}
+
+// static
+void SkGLCanvas::AbandonAllTextures() {
+ SkGLDevice::AbandonAllTextures();
+}