964eec6776
When Chromium is switched to build with VS 2015 that switches clang-cl to build in -fmsc-version=1900 mode. This causes some changes in importing of constructors and vftables which leads to link errors in blink_platform.dll. Adding a non-inline constructor makes 1900 mode behave consistently with 1800 mode and avoids the link error. The root cause needs investigation but this will unblock the VS 2015 switch. BUG=440500,498544 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1676833002 Review URL: https://codereview.chromium.org/1676833002
33 lines
697 B
C++
33 lines
697 B
C++
/*
|
|
* Copyright 2014 Google Inc.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#ifndef SkBBHFactory_DEFINED
|
|
#define SkBBHFactory_DEFINED
|
|
|
|
#include "SkTypes.h"
|
|
class SkBBoxHierarchy;
|
|
struct SkRect;
|
|
|
|
class SK_API SkBBHFactory {
|
|
public:
|
|
/**
|
|
* Allocate a new SkBBoxHierarchy. Return NULL on failure.
|
|
*/
|
|
virtual SkBBoxHierarchy* operator()(const SkRect& bounds) const = 0;
|
|
virtual ~SkBBHFactory() {};
|
|
};
|
|
|
|
class SK_API SkRTreeFactory : public SkBBHFactory {
|
|
public:
|
|
SkRTreeFactory();
|
|
SkBBoxHierarchy* operator()(const SkRect& bounds) const override;
|
|
private:
|
|
typedef SkBBHFactory INHERITED;
|
|
};
|
|
|
|
#endif
|