blob: fd2c5a67b7ea438c89cb00447b0b9dc5c2d12161 [file] [log] [blame]
// Copyright 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Multiply-included message file, no include guard.
#include <vector>
#include "base/basictypes.h"
#include "ipc/ipc_message_macros.h"
#include "ui/base/events/event_constants.h"
#include "ui/gfx/native_widget_types.h"
#define IPC_MESSAGE_START MetroViewerMsgStart
IPC_ENUM_TRAITS(ui::EventType)
IPC_ENUM_TRAITS(ui::EventFlags)
// Messages sent from the viewer to the browser:
// Inform the browser of the surface to target for compositing.
IPC_MESSAGE_CONTROL1(MetroViewerHostMsg_SetTargetSurface,
gfx::NativeViewId /* target hwnd */)
// Informs the browser that the mouse moved.
IPC_MESSAGE_CONTROL3(MetroViewerHostMsg_MouseMoved,
int32, /* x-coordinate */
int32, /* y-coordinate */
int32 /* flags */)
// Informs the brower that a mouse button was pressed.
IPC_MESSAGE_CONTROL5(MetroViewerHostMsg_MouseButton,
int32, /* x-coordinate */
int32, /* y-coordinate */
int32, /* extra */
ui::EventType, /* event type */
ui::EventFlags /* event flags */)
// Informs the browser that a key was pressed.
IPC_MESSAGE_CONTROL4(MetroViewerHostMsg_KeyDown,
uint32, /* virtual key */
uint32, /* repeat count */
uint32, /* scan code */
uint32 /* key state */);
// Informs the browser that a key was released.
IPC_MESSAGE_CONTROL4(MetroViewerHostMsg_KeyUp,
uint32, /* virtual key */
uint32, /* repeat count */
uint32, /* scan code */
uint32 /* key state */);
IPC_MESSAGE_CONTROL4(MetroViewerHostMsg_Character,
uint32, /* virtual key */
uint32, /* repeat count */
uint32, /* scan code */
uint32 /* key state */);
// Informs the browser that the visibiliy of the viewer has changed.
IPC_MESSAGE_CONTROL1(MetroViewerHostMsg_VisibilityChanged,
bool /* visible */);
IPC_MESSAGE_CONTROL3(MetroViewerHostMsg_TouchDown,
int32, /* x-coordinate */
int32, /* y-coordinate */
uint64) /* timestamp */
IPC_MESSAGE_CONTROL3(MetroViewerHostMsg_TouchUp,
int32, /* x-coordinate */
int32, /* y-coordinate */
uint64) /* timestamp */
IPC_MESSAGE_CONTROL3(MetroViewerHostMsg_TouchMoved,
int32, /* x-coordinate */
int32, /* y-coordinate */
uint64) /* timestamp */
// Informs the browser of the result of a file save as operation.
IPC_MESSAGE_CONTROL3(MetroViewerHostMsg_FileSaveAsDone,
bool, /* success */
string16, /* filename */
int) /* filter_index */
// Informs the browser of the result of a file open operation.
IPC_MESSAGE_CONTROL2(MetroViewerHostMsg_FileOpenDone,
bool, /* success */
string16) /* filename */
IPC_MESSAGE_CONTROL2(MetroViewerHostMsg_MultiFileOpenDone,
bool, /* success */
std::vector<base::FilePath>) /* filenames */
// Messages sent from the browser to the viewer:
// Requests the viewer to change the pointer to a new cursor.
IPC_MESSAGE_CONTROL1(MetroViewerHostMsg_SetCursor,
int64 /* cursor */);
// This structure contains the parameters sent to the viewer process to display
// the file save dialog.
IPC_STRUCT_BEGIN(MetroViewerHostMsg_SaveAsDialogParams)
// The title of the file save dialog if any.
IPC_STRUCT_MEMBER(string16, title)
// The suggested file name.
IPC_STRUCT_MEMBER(string16, suggested_name)
// The save as filter to be used.
IPC_STRUCT_MEMBER(string16, filter)
// The filter index.
IPC_STRUCT_MEMBER(uint32, filter_index)
// The default extension.
IPC_STRUCT_MEMBER(string16, default_extension)
IPC_STRUCT_END()
// Requests the viewer to display the file save dialog.
IPC_MESSAGE_CONTROL1(MetroViewerHostMsg_DisplayFileSaveAs,
MetroViewerHostMsg_SaveAsDialogParams)
// Requests the viewer to display the file open dialog.
IPC_MESSAGE_CONTROL4(MetroViewerHostMsg_DisplayFileOpen,
string16, /* title */
string16, /* filter */
string16, /* Default path */
bool) /* allow_multi_select */