WKPagePrivatePlayStation.cpp [plain text]
#include "config.h"
#include "WKPagePrivatePlayStation.h"
#include "NativeWebKeyboardEvent.h"
#include "NativeWebMouseEvent.h"
#include "NativeWebWheelEvent.h"
#include "WebEventFactory.h"
#include "WebPageProxy.h"
#include <wpe/wpe.h>
void WKPageSetSize(WKPageRef pageRef, WKSize size)
{
notImplemented();
}
void WKPageHandleKeyboardEvent(WKPageRef pageRef, WKKeyboardEvent event)
{
using WebKit::NativeWebKeyboardEvent;
wpe_input_keyboard_event wpeEvent;
wpeEvent.time = 0;
wpeEvent.key_code = event.virtualKeyCode;
wpeEvent.hardware_key_code = event.virtualKeyCode;
wpeEvent.modifiers = 0; switch (event.type) {
case kWKEventKeyDown:
wpeEvent.pressed = true;
break;
case kWKEventKeyUp:
wpeEvent.pressed = false;
break;
default:
ASSERT_NOT_REACHED();
return;
}
NativeWebKeyboardEvent::HandledByInputMethod handledByInputMethod = NativeWebKeyboardEvent::HandledByInputMethod::No;
Optional<Vector<WebCore::CompositionUnderline>> preeditUnderlines;
Optional<WebKit::EditingRange> preeditSelectionRange;
WebKit::toImpl(pageRef)->handleKeyboardEvent(NativeWebKeyboardEvent(&wpeEvent, "", handledByInputMethod, WTFMove(preeditUnderlines), WTFMove(preeditSelectionRange)));
}
void WKPageHandleMouseEvent(WKPageRef pageRef, WKMouseEvent event)
{
using WebKit::NativeWebMouseEvent;
wpe_input_pointer_event wpeEvent;
switch (event.type) {
case kWKEventMouseDown:
case kWKEventMouseUp:
wpeEvent.type = wpe_input_pointer_event_type_button;
break;
case kWKEventMouseMove:
wpeEvent.type = wpe_input_pointer_event_type_motion;
break;
default:
ASSERT_NOT_REACHED();
return;
}
switch (event.button) {
case kWKEventMouseButtonLeftButton:
wpeEvent.button = 1;
break;
case kWKEventMouseButtonMiddleButton:
wpeEvent.button = 3;
break;
case kWKEventMouseButtonRightButton:
wpeEvent.button = 2;
break;
case kWKEventMouseButtonNoButton:
wpeEvent.button = 0;
break;
default:
ASSERT_NOT_REACHED();
return;
}
wpeEvent.time = 0;
wpeEvent.x = event.position.x;
wpeEvent.y = event.position.y;
wpeEvent.state = 0;
wpeEvent.modifiers = 0;
const float deviceScaleFactor = 1;
WebKit::toImpl(pageRef)->handleMouseEvent(NativeWebMouseEvent(&wpeEvent, deviceScaleFactor));
}
void WKPageHandleWheelEvent(WKPageRef pageRef, WKWheelEvent event)
{
using WebKit::WebWheelEvent;
using WebKit::NativeWebWheelEvent;
wpe_input_axis_2d_event wpeEvent;
wpeEvent.base.type = (wpe_input_axis_event_type)(wpe_input_axis_event_type_motion_smooth | wpe_input_axis_event_type_mask_2d);
wpeEvent.base.time = 0;
wpeEvent.base.x = event.position.x;
wpeEvent.base.y = event.position.y;
wpeEvent.base.axis = 0;
wpeEvent.base.value = 0;
wpeEvent.base.modifiers = 0; wpeEvent.x_axis = event.delta.width;
wpeEvent.x_axis = event.delta.height;
const float deviceScaleFactor = 1;
WebKit::toImpl(pageRef)->handleWheelEvent(NativeWebWheelEvent(&wpeEvent.base, deviceScaleFactor, WebWheelEvent::Phase::PhaseNone, WebWheelEvent::Phase::PhaseNone));
}