mirror of https://github.com/UMSKT/xpmgr.git
152 lines
6.7 KiB
C
152 lines
6.7 KiB
C
//-----------------------------------------------------------------------
|
|
// <copyright file="WindowsSideShow.h" company="Microsoft">
|
|
// Copyright (c) 2004-2005 Microsoft Corporation. All rights
|
|
// reserved.
|
|
// </copyright>
|
|
//
|
|
// Module:
|
|
// WindowsSideShow.h
|
|
//
|
|
// Description:
|
|
// This file defines supporting structures and values used in
|
|
// the Windows SideShow platform.
|
|
//
|
|
//-----------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
#if (_WIN32_WINNT >= 0x0600) // Windows Vista and later
|
|
#include "propkeydef.h"
|
|
/****************************************************************************
|
|
* This section defines platform constants
|
|
****************************************************************************/
|
|
|
|
const CONTENT_ID CONTENT_ID_GLANCE = 0;
|
|
|
|
// Event IDs for ApplicationEvents fired by the device when the user enters/exits
|
|
// an application on the device.
|
|
const DWORD SIDESHOW_EVENTID_APPLICATION_ENTER = 0xFFFF0000;
|
|
const DWORD SIDESHOW_EVENTID_APPLICATION_EXIT = 0xFFFF0001;
|
|
|
|
|
|
/****************************************************************************
|
|
* This section defines well-known device endpoints
|
|
****************************************************************************/
|
|
|
|
// {A9A5353F-2D4B-47ce-93EE-759F3A7DDA4F}
|
|
DEFINE_GUID(SIDESHOW_ENDPOINT_SIMPLE_CONTENT_FORMAT, 0xa9a5353f, 0x2d4b, 0x47ce, 0x93, 0xee, 0x75, 0x9f, 0x3a, 0x7d, 0xda, 0x4f);
|
|
|
|
// {4DFF36B5-9DDE-4F76-9A2A-96435047063D}
|
|
DEFINE_GUID(SIDESHOW_ENDPOINT_ICAL, 0x4dff36b5, 0x9dde, 0x4f76, 0x9a, 0x2a, 0x96, 0x43, 0x50, 0x47, 0x06, 0x3d);
|
|
|
|
|
|
/****************************************************************************
|
|
* This section defines well-known device capabilities
|
|
****************************************************************************/
|
|
|
|
// {8ABC88A8-857B-4ad7-A35A-B5942F492B99}
|
|
DEFINE_GUID(SIDESHOW_CAPABILITY_DEVICE_PROPERTIES, 0x8abc88a8, 0x857b, 0x4ad7, 0xa3, 0x5a, 0xb5, 0x94, 0x2f, 0x49, 0x2b, 0x99);
|
|
|
|
DEFINE_PROPERTYKEY(SIDESHOW_CAPABILITY_DEVICE_ID, 0x8abc88a8, 0x857b, 0x4ad7, 0xa3, 0x5a, 0xb5, 0x94, 0x2f, 0x49, 0x2b, 0x99, 1); // [ VT_LPWSTR ]
|
|
DEFINE_PROPERTYKEY(SIDESHOW_CAPABILITY_SCREEN_TYPE, 0x8abc88a8, 0x857b, 0x4ad7, 0xa3, 0x5a, 0xb5, 0x94, 0x2f, 0x49, 0x2b, 0x99, 2); // [ VT_I4 ]
|
|
DEFINE_PROPERTYKEY(SIDESHOW_CAPABILITY_SCREEN_WIDTH, 0x8abc88a8, 0x857b, 0x4ad7, 0xa3, 0x5a, 0xb5, 0x94, 0x2f, 0x49, 0x2b, 0x99, 3); // [ VT_UI2 ]
|
|
DEFINE_PROPERTYKEY(SIDESHOW_CAPABILITY_SCREEN_HEIGHT, 0x8abc88a8, 0x857b, 0x4ad7, 0xa3, 0x5a, 0xb5, 0x94, 0x2f, 0x49, 0x2b, 0x99, 4); // [ VT_UI2 ]
|
|
DEFINE_PROPERTYKEY(SIDESHOW_CAPABILITY_COLOR_DEPTH, 0x8abc88a8, 0x857b, 0x4ad7, 0xa3, 0x5a, 0xb5, 0x94, 0x2f, 0x49, 0x2b, 0x99, 5); // [ VT_UI2 ]
|
|
DEFINE_PROPERTYKEY(SIDESHOW_CAPABILITY_COLOR_TYPE, 0x8abc88a8, 0x857b, 0x4ad7, 0xa3, 0x5a, 0xb5, 0x94, 0x2f, 0x49, 0x2b, 0x99, 6); // [ VT_I4 ]
|
|
DEFINE_PROPERTYKEY(SIDESHOW_CAPABILITY_DATA_CACHE, 0x8abc88a8, 0x857b, 0x4ad7, 0xa3, 0x5a, 0xb5, 0x94, 0x2f, 0x49, 0x2b, 0x99, 7); // [ VT_BOOL ]
|
|
DEFINE_PROPERTYKEY(SIDESHOW_CAPABILITY_SUPPORTED_LANGUAGES, 0x8abc88a8, 0x857b, 0x4ad7, 0xa3, 0x5a, 0xb5, 0x94, 0x2f, 0x49, 0x2b, 0x99, 8); // [ VT_LPWSTR ]
|
|
DEFINE_PROPERTYKEY(SIDESHOW_CAPABILITY_CURRENT_LANGUAGE, 0x8abc88a8, 0x857b, 0x4ad7, 0xa3, 0x5a, 0xb5, 0x94, 0x2f, 0x49, 0x2b, 0x99, 9); // [ VT_LPWSTR ]
|
|
DEFINE_PROPERTYKEY(SIDESHOW_CAPABILITY_SUPPORTED_THEMES, 0x8abc88a8, 0x857b, 0x4ad7, 0xa3, 0x5a, 0xb5, 0x94, 0x2f, 0x49, 0x2b, 0x99, 10);// [ VT_LPWSTR ]
|
|
DEFINE_PROPERTYKEY(SIDESHOW_CAPABILITY_SUPPORTED_IMAGE_FORMATS, 0x8abc88a8, 0x857b, 0x4ad7, 0xa3, 0x5a, 0xb5, 0x94, 0x2f, 0x49, 0x2b, 0x99, 14);// [ VT_LPWSTR ]
|
|
DEFINE_PROPERTYKEY(SIDESHOW_CAPABILITY_CLIENT_AREA_WIDTH, 0x8abc88a8, 0x857b, 0x4ad7, 0xa3, 0x5a, 0xb5, 0x94, 0x2f, 0x49, 0x2b, 0x99, 15);// [ VT_UI2 ]
|
|
DEFINE_PROPERTYKEY(SIDESHOW_CAPABILITY_CLIENT_AREA_HEIGHT, 0x8abc88a8, 0x857b, 0x4ad7, 0xa3, 0x5a, 0xb5, 0x94, 0x2f, 0x49, 0x2b, 0x99, 16);// [ VT_UI2 ]
|
|
|
|
/****************************************************************************
|
|
* This section defines enumerations used by the device capabilities
|
|
****************************************************************************/
|
|
|
|
// Used with SIDESHOW_CAPABILITY_SCREEN_TYPE
|
|
typedef enum tagSIDESHOW_SCREEN_TYPE
|
|
{
|
|
SIDESHOW_SCREEN_TYPE_BITMAP = 0,
|
|
SIDESHOW_SCREEN_TYPE_TEXT = 1,
|
|
} SIDESHOW_SCREEN_TYPE;
|
|
|
|
// Used with SIDESHOW_CAPABILITY_COLOR_TYPE
|
|
typedef enum tagSIDESHOW_COLOR_TYPE
|
|
{
|
|
SIDESHOW_COLOR_TYPE_COLOR = 0,
|
|
SIDESHOW_COLOR_TYPE_GREYSCALE = 1,
|
|
SIDESHOW_COLOR_TYPE_BLACK_AND_WHITE = 2,
|
|
} SIDESHOW_COLOR_TYPE;
|
|
|
|
|
|
/****************************************************************************
|
|
* This section defines constants, structures and enumerations relating to
|
|
* the Simple Content Format
|
|
****************************************************************************/
|
|
|
|
// The content id of the home page for a Simple Content Format application
|
|
const CONTENT_ID CONTENT_ID_HOME = 1;
|
|
|
|
// The ApplicationEvent event ids from the Simple Content Format device application
|
|
typedef enum tagSCF_EVENT_IDS
|
|
{
|
|
SCF_EVENT_NAVIGATION = 1,
|
|
SCF_EVENT_MENUACTION = 2,
|
|
SCF_EVENT_CONTEXTMENU = 3,
|
|
} SCF_EVENT_IDS;
|
|
|
|
// The button ids used in the Simple Content Format events
|
|
typedef enum tagSCF_BUTTON_IDS
|
|
{
|
|
SCF_BUTTON_MENU = 1,
|
|
SCF_BUTTON_SELECT = 2,
|
|
SCF_BUTTON_UP = 3,
|
|
SCF_BUTTON_DOWN = 4,
|
|
SCF_BUTTON_LEFT = 5,
|
|
SCF_BUTTON_RIGHT = 6,
|
|
SCF_BUTTON_PLAY = 7,
|
|
SCF_BUTTON_PAUSE = 8,
|
|
SCF_BUTTON_FASTFORWARD = 9,
|
|
SCF_BUTTON_REWIND = 10,
|
|
SCF_BUTTON_STOP = 11,
|
|
SCF_BUTTON_BACK = 65280, // 0xFF00
|
|
} SCF_BUTTON_IDS;
|
|
|
|
// A header structure that is common amongst all Simple Content Format event structures
|
|
typedef struct tagSCF_EVENT_HEADER
|
|
{
|
|
CONTENT_ID PreviousPage;
|
|
CONTENT_ID TargetPage;
|
|
} SCF_EVENT_HEADER, *PSCF_EVENT_HEADER;
|
|
|
|
// The data passed with an SCF_EVENT_NAVIGATION ApplicationEvent
|
|
typedef struct tagSCF_NAVIGATION_EVENT
|
|
{
|
|
CONTENT_ID PreviousPage;
|
|
CONTENT_ID TargetPage;
|
|
UINT32 Button;
|
|
} SCF_NAVIGATION_EVENT, *PSCF_NAVIGATION_EVENT;
|
|
|
|
// The data passed with an SCF_EVENT_MENUACTION ApplicationEvent
|
|
typedef struct tagSCF_MENUACTION_EVENT
|
|
{
|
|
CONTENT_ID PreviousPage;
|
|
CONTENT_ID TargetPage;
|
|
UINT32 Button;
|
|
UINT32 ItemId;
|
|
} SCF_MENUACTION_EVENT, *PSCF_MENUACTION_EVENT;
|
|
|
|
// The data passed with an SCF_EVENT_CONTEXTMENU ApplicationEvent
|
|
typedef struct tagSCF_CONTEXTMENU_EVENT
|
|
{
|
|
CONTENT_ID PreviousPage;
|
|
CONTENT_ID TargetPage;
|
|
UINT32 PreviousItemId;
|
|
CONTENT_ID MenuPage;
|
|
UINT32 MenuItemId;
|
|
} SCF_CONTEXTMENU_EVENT, *PSCF_CONTEXTMENU_EVENT;
|
|
|
|
#endif // (_WIN32_WINNT >= 0x0600)
|
|
|