home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tricks of the Windows Gam…ming Gurus (2nd Edition)
/
Disc2.iso
/
msdn_vcb
/
samples
/
vc98
/
sdk
/
com
/
tutsamp
/
dcdmarsh
/
papint.idl
< prev
Wrap
Text File
|
1997-08-30
|
3KB
|
112 lines
/*+==========================================================================
File: PAPINT.IDL
Summary: Interface definition file for use by the MIDL compiler.
Specifies the following custom interfaces: ISharePaper and
IPaperSink.
Compilation of this file using the MIDL.EXE compiler
generates additional source files PAPINT.H, PAPINT_I.C,
PAPINT_P.C, and DLLDATA.C. They are in turn compiled in the
Makefile to produce the marshaling server which is used by
later code samples to provide standard marshaling for the
ISharePaper and IPaperSink custom interfaces.
Origin: 8-23-97: atrent - Editor inheritance from MARSHAL sample.
----------------------------------------------------------------------------
This file is part of the Microsoft COM Tutorial Code Samples.
Copyright (C) Microsoft Corporation, 1997. All rights reserved.
This source code is intended only as a supplement to Microsoft
Development Tools and/or on-line documentation. See these other
materials for detailed information regarding Microsoft code samples.
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.
==========================================================================+*/
[uuid(0002da31-0000-0000-c000-000000000046),
object
]
interface ISharePaper : IUnknown
{
import "unknwn.idl";
HRESULT InitPaper(
[in,out] RECT* pWinRect,
[out] BOOL* pbFirst);
HRESULT Lock(
[in] BOOL bLock);
HRESULT Load(
[out] RECT* pWinRect);
HRESULT Save(
void);
HRESULT InkStart(
[in] SHORT nX,
[in] SHORT nY,
[in] SHORT nInkWidth,
[in] COLORREF crInkColor);
HRESULT InkDraw(
[in] SHORT nX,
[in] SHORT nY);
HRESULT InkStop(
[in] SHORT nX,
[in] SHORT nY);
HRESULT GetInk(
[in] LONG lIndex,
[out] SHORT* pnInkType,
[out] SHORT* pnX,
[out] SHORT* pnY,
[out] SHORT* pnInkWidth,
[out] COLORREF* pcrInkColor);
HRESULT Erase(
void);
HRESULT Resize(
[in] LONG lWidth,
[in] LONG lHeight);
}
[uuid(0002da34-0000-0000-c000-000000000046),
object
]
interface IPaperSink : IUnknown
{
import "unknwn.idl";
HRESULT Locked(
void);
HRESULT Unlocked(
void);
HRESULT Loaded(
void);
HRESULT Saved(
void);
HRESULT InkStart(
[in] SHORT nX,
[in] SHORT nY,
[in] SHORT nInkWidth,
[in] COLORREF crInkColor);
HRESULT InkDraw(
[in] SHORT nX,
[in] SHORT nY);
HRESULT InkStop(
[in] SHORT nX,
[in] SHORT nY);
HRESULT Erased(
void);
HRESULT Resized(
[in] LONG lWidth,
[in] LONG lHeight);
}
cpp_quote ("// The types of Ink Data.")
cpp_quote ("#define INKTYPE_NONE 0")
cpp_quote ("#define INKTYPE_START 1")
cpp_quote ("#define INKTYPE_DRAW 2")
cpp_quote ("#define INKTYPE_STOP 3")