2025-11-28 00:35:46 +09:00

45 lines
1.2 KiB
C++

// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved
#ifndef COREOBJECT_H
#define COREOBJECT_H
#include "ManipulationEventsink.h"
#include "DrawingObject.h"
class CCoreObject {
public:
CCoreObject(HWND hwnd, int iTimerId, CD2DDriver* d2dDriver);
~CCoreObject();
BOOL Initialize();
// Rendered object
CDrawingObject* doDrawing;
// Manipulation and Inertia event sinks
CManipulationEventSink* manipulationEventSink;
CManipulationEventSink* inertiaEventSink;
// Manipulation and Inertia processors
IManipulationProcessor* manipulationProc;
IInertiaProcessor* inertiaProc;
// This flag is set by the manipulation event sink
// when the ManipulationCompleted method is invoked
BOOL bIsInertiaActive;
private:
HWND m_hWnd;
// Direct2D driver to pass to drawing object
CD2DDriver* m_d2dDriver;
// Unique timer ID to pass to event sink
int m_iTimerId;
};
#endif