| Index: sky/engine/bindings-dart/core/dart/shared_lib/DartNativeExtensionsWin.cpp
|
| diff --git a/sky/engine/core/animation/animatable/AnimatableLengthPoint3D.cpp b/sky/engine/bindings-dart/core/dart/shared_lib/DartNativeExtensionsWin.cpp
|
| similarity index 61%
|
| copy from sky/engine/core/animation/animatable/AnimatableLengthPoint3D.cpp
|
| copy to sky/engine/bindings-dart/core/dart/shared_lib/DartNativeExtensionsWin.cpp
|
| index 9fedc085ff984e927c010bf1c801f99c83f0f2f7..2508a3cff13ecb16458bafa314715e576aed8f01 100644
|
| --- a/sky/engine/core/animation/animatable/AnimatableLengthPoint3D.cpp
|
| +++ b/sky/engine/bindings-dart/core/dart/shared_lib/DartNativeExtensionsWin.cpp
|
| @@ -28,24 +28,40 @@
|
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| */
|
|
|
| -#include "sky/engine/config.h"
|
| -#include "sky/engine/core/animation/animatable/AnimatableLengthPoint3D.h"
|
| +#include "config.h"
|
| +#include "bindings/core/dart/shared_lib/DartNativeExtensions.h"
|
| +
|
| +#if defined(ENABLE_DART_NATIVE_EXTENSIONS)
|
| +#if OS(WIN)
|
| +#include "wtf/text/StringUTF8Adaptor.h"
|
| +#include <string>
|
| +
|
|
|
| namespace blink {
|
|
|
| -PassRefPtr<AnimatableValue> AnimatableLengthPoint3D::interpolateTo(const AnimatableValue* value, double fraction) const
|
| +Dart_Handle DartNativeExtensions::loadExtensionLibrary(const String& libraryPath, const String& libraryName, void** libraryHandle)
|
| {
|
| - const AnimatableLengthPoint3D* lengthPoint = toAnimatableLengthPoint3D(value);
|
| - return AnimatableLengthPoint3D::create(
|
| - AnimatableValue::interpolate(this->x(), lengthPoint->x(), fraction),
|
| - AnimatableValue::interpolate(this->y(), lengthPoint->y(), fraction),
|
| - AnimatableValue::interpolate(this->z(), lengthPoint->z(), fraction));
|
| + String libraryFile = libraryPath;
|
| + libraryFile.append(libraryName);
|
| + libraryFile.append(".dll");
|
| +
|
| + *libraryHandle = LoadLibraryW(libraryFile.characters16());
|
| + if (!*libraryHandle) {
|
| + return Dart_NewApiError("Error loading library.");
|
| + }
|
| + return Dart_Null();
|
| }
|
|
|
| -bool AnimatableLengthPoint3D::equalTo(const AnimatableValue* value) const
|
| +Dart_Handle DartNativeExtensions::resolveSymbol(void* libHandle, const String& symbolName, void** symbol)
|
| {
|
| - const AnimatableLengthPoint3D* lengthPoint = toAnimatableLengthPoint3D(value);
|
| - return x()->equals(lengthPoint->x()) && y()->equals(lengthPoint->y()) && z()->equals(lengthPoint->z());
|
| + *symbol = GetProcAddress(reinterpret_cast<HMODULE>(libHandle), symbolName.characters16());
|
| + if (!*symbol) {
|
| + return Dart_NewApiError("Error resolving symbol.");
|
| + }
|
| + return Dart_Null();
|
| }
|
|
|
| }
|
| +
|
| +#endif // OS(WIN)
|
| +#endif // defined(ENABLE_DART_NATIVE_EXTENSIONS)
|
|
|