00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#include "khtml_events.h"
00021
#include "rendering/render_object.h"
00022
#include "xml/dom_nodeimpl.h"
00023
00024
using namespace khtml;
00025
00026
class khtml::MouseEvent::MouseEventPrivate
00027 {
00028 };
00029
00030 khtml::MouseEvent::MouseEvent(
const char *name,
QMouseEvent *qmouseEvent,
int x,
int y,
00031
const DOM::DOMString &url,
const DOM::DOMString& target,
00032
const DOM::Node &innerNode )
00033 : KParts::
Event(
name ), m_qmouseEvent( qmouseEvent ), m_x( x ), m_y( y ),
00034 m_url( url ), m_target(target), m_innerNode( innerNode )
00035 {
00036 d = 0;
00037
if (innerNode.
handle() && innerNode.
handle()->renderer())
00038 innerNode.
handle()->renderer()->absolutePosition(m_nodeAbsX, m_nodeAbsY);
00039 }
00040
00041 khtml::MouseEvent::~MouseEvent()
00042 {
00043
delete d;
00044 }
00045
00046
long khtml::MouseEvent::offset()
const
00047
{
00048
int offset = 0;
00049 DOM::NodeImpl* tempNode = 0;
00050
int absX, absY;
00051 absX = absY = 0;
00052
if (innerNode().handle()->renderer()) {
00053 innerNode().handle()->renderer()->absolutePosition(absX, absY);
00054 khtml::RenderObject::SelPointState state;
00055 innerNode().handle()->renderer()->checkSelectionPoint( x(), y(), absX, absY, tempNode, offset, state );
00056 }
00057
return offset;
00058 }
00059
00060
const char *khtml::MousePressEvent::s_strMousePressEvent =
"khtml/Events/MousePressEvent";
00061
00062
const char *khtml::MouseDoubleClickEvent::s_strMouseDoubleClickEvent =
"khtml/Events/MouseDoubleClickEvent";
00063
00064
const char *khtml::MouseMoveEvent::s_strMouseMoveEvent =
"khtml/Events/MouseMoveEvent";
00065
00066
const char *khtml::MouseReleaseEvent::s_strMouseReleaseEvent =
"khtml/Events/MouseReleaseEvent";
00067
00068
const char *khtml::DrawContentsEvent::s_strDrawContentsEvent =
"khtml/Events/DrawContentsEvent";
00069
00070
class khtml::DrawContentsEvent::DrawContentsEventPrivate
00071 {
00072
public:
00073 DrawContentsEventPrivate()
00074 {
00075 }
00076 ~DrawContentsEventPrivate()
00077 {
00078 }
00079 };
00080
00081 khtml::DrawContentsEvent::DrawContentsEvent(
QPainter *painter,
int clipx,
int clipy,
int clipw,
int cliph )
00082 : KParts::
Event( s_strDrawContentsEvent ), m_painter( painter ), m_clipx( clipx ), m_clipy( clipy ),
00083 m_clipw( clipw ), m_cliph( cliph )
00084 {
00085 d =
new DrawContentsEventPrivate;
00086 }
00087
00088 khtml::DrawContentsEvent::~DrawContentsEvent()
00089 {
00090
delete d;
00091 }
00092