summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/efl/CursorEfl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform/efl/CursorEfl.cpp')
-rw-r--r--WebCore/platform/efl/CursorEfl.cpp409
1 files changed, 409 insertions, 0 deletions
diff --git a/WebCore/platform/efl/CursorEfl.cpp b/WebCore/platform/efl/CursorEfl.cpp
new file mode 100644
index 0000000..c88830e
--- /dev/null
+++ b/WebCore/platform/efl/CursorEfl.cpp
@@ -0,0 +1,409 @@
+/*
+ * Copyright (C) 2006 Dirk Mueller <mueller@kde.org>
+ * Copyright (C) 2006 George Staikos <staikos@kde.org>
+ * Copyright (C) 2006 Charles Samuels <charles@kde.org>
+ * Copyright (C) 2008 Holger Hans Peter Freyther
+ * Copyright (C) 2008 Kenneth Rohde Christiansen
+ * Copyright (C) 2009-2010 ProFUSION embedded systems
+ * Copyright (C) 2009-2010 Samsung Electronics
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "Cursor.h"
+
+#include "NotImplemented.h"
+
+#include <Edje.h>
+#include <Evas.h>
+#include <stdio.h>
+#include <wtf/Assertions.h>
+
+namespace WebCore {
+
+Cursor::Cursor(PlatformCursor p)
+{
+ m_impl = eina_stringshare_add(p);
+}
+
+Cursor::Cursor(const Cursor& other)
+{
+ m_impl = eina_stringshare_ref(other.m_impl);
+}
+
+Cursor::~Cursor()
+{
+ if (m_impl) {
+ eina_stringshare_del(m_impl);
+ m_impl = 0;
+ }
+}
+
+Cursor::Cursor(Image* image, const IntPoint& hotspot)
+ : m_impl(0)
+{
+ notImplemented();
+}
+
+Cursor& Cursor::operator=(const Cursor& other)
+{
+ eina_stringshare_ref(other.m_impl);
+ eina_stringshare_del(m_impl);
+ m_impl = other.m_impl;
+ return *this;
+}
+
+namespace {
+
+class Cursors {
+protected:
+ Cursors()
+ : PointerCursor("cursor/pointer")
+ , MoveCursor("cursor/move")
+ , CrossCursor("cursor/cross")
+ , HandCursor("cursor/hand")
+ , IBeamCursor("cursor/i_beam")
+ , WaitCursor("cursor/wait")
+ , HelpCursor("cursor/help")
+ , EastResizeCursor("cursor/east_resize")
+ , NorthResizeCursor("cursor/north_resize")
+ , NorthEastResizeCursor("cursor/north_east_resize")
+ , NorthWestResizeCursor("cursor/north_west_resize")
+ , SouthResizeCursor("cursor/south_resize")
+ , SouthEastResizeCursor("cursor/south_east_resize")
+ , SouthWestResizeCursor("cursor/south_west_resize")
+ , WestResizeCursor("cursor/west_resize")
+ , NorthSouthResizeCursor("cursor/north_south_resize")
+ , EastWestResizeCursor("cursor/east_west_resize")
+ , NorthEastSouthWestResizeCursor("cursor/north_east_south_west_resize")
+ , NorthWestSouthEastResizeCursor("cursor/north_west_south_east_resize")
+ , ColumnResizeCursor("cursor/column_resize")
+ , RowResizeCursor("cursor/row_resize")
+ , MiddlePanningCursor("cursor/middle_panning")
+ , EastPanningCursor("cursor/east_panning")
+ , NorthPanningCursor("cursor/north_panning")
+ , NorthEastPanningCursor("cursor/north_east_panning")
+ , NorthWestPanningCursor("cursor/north_west_panning")
+ , SouthPanningCursor("cursor/south_panning")
+ , SouthEastPanningCursor("cursor/south_east_panning")
+ , SouthWestPanningCursor("cursor/south_west_panning")
+ , WestPanningCursor("cursor/west_panning")
+ , VerticalTextCursor("cursor/vertical_text")
+ , CellCursor("cursor/cell")
+ , ContextMenuCursor("cursor/context_menu")
+ , NoDropCursor("cursor/no_drop")
+ , CopyCursor("cursor/copy")
+ , ProgressCursor("cursor/progress")
+ , AliasCursor("cursor/alias")
+ , NoneCursor("cursor/none")
+ , NotAllowedCursor("cursor/not_allowed")
+ , ZoomInCursor("cursor/zoom_in")
+ , ZoomOutCursor("cursor/zoom_out")
+ , GrabCursor("cursor/grab")
+ , GrabbingCursor("cursor/grabbing")
+ {
+ }
+
+ ~Cursors()
+ {
+ }
+
+public:
+ static Cursors* self();
+ static Cursors* s_self;
+
+ Cursor PointerCursor;
+ Cursor MoveCursor;
+ Cursor CrossCursor;
+ Cursor HandCursor;
+ Cursor IBeamCursor;
+ Cursor WaitCursor;
+ Cursor HelpCursor;
+ Cursor EastResizeCursor;
+ Cursor NorthResizeCursor;
+ Cursor NorthEastResizeCursor;
+ Cursor NorthWestResizeCursor;
+ Cursor SouthResizeCursor;
+ Cursor SouthEastResizeCursor;
+ Cursor SouthWestResizeCursor;
+ Cursor WestResizeCursor;
+ Cursor NorthSouthResizeCursor;
+ Cursor EastWestResizeCursor;
+ Cursor NorthEastSouthWestResizeCursor;
+ Cursor NorthWestSouthEastResizeCursor;
+ Cursor ColumnResizeCursor;
+ Cursor RowResizeCursor;
+ Cursor MiddlePanningCursor;
+ Cursor EastPanningCursor;
+ Cursor NorthPanningCursor;
+ Cursor NorthEastPanningCursor;
+ Cursor NorthWestPanningCursor;
+ Cursor SouthPanningCursor;
+ Cursor SouthEastPanningCursor;
+ Cursor SouthWestPanningCursor;
+ Cursor WestPanningCursor;
+ Cursor VerticalTextCursor;
+ Cursor CellCursor;
+ Cursor ContextMenuCursor;
+ Cursor NoDropCursor;
+ Cursor CopyCursor;
+ Cursor ProgressCursor;
+ Cursor AliasCursor;
+ Cursor NoneCursor;
+ Cursor NotAllowedCursor;
+ Cursor ZoomInCursor;
+ Cursor ZoomOutCursor;
+ Cursor GrabCursor;
+ Cursor GrabbingCursor;
+};
+
+Cursors* Cursors::s_self = 0;
+
+Cursors* Cursors::self()
+{
+ if (!s_self)
+ s_self = new Cursors();
+
+ return s_self;
+}
+
+}
+
+const Cursor& pointerCursor()
+{
+ return Cursors::self()->PointerCursor;
+}
+
+const Cursor& moveCursor()
+{
+ return Cursors::self()->MoveCursor;
+}
+
+const Cursor& crossCursor()
+{
+ return Cursors::self()->CrossCursor;
+}
+
+const Cursor& handCursor()
+{
+ return Cursors::self()->HandCursor;
+}
+
+const Cursor& iBeamCursor()
+{
+ return Cursors::self()->IBeamCursor;
+}
+
+const Cursor& waitCursor()
+{
+ return Cursors::self()->WaitCursor;
+}
+
+const Cursor& helpCursor()
+{
+ return Cursors::self()->HelpCursor;
+}
+
+const Cursor& eastResizeCursor()
+{
+ return Cursors::self()->EastResizeCursor;
+}
+
+const Cursor& northResizeCursor()
+{
+ return Cursors::self()->NorthResizeCursor;
+}
+
+const Cursor& northEastResizeCursor()
+{
+ return Cursors::self()->NorthEastResizeCursor;
+}
+
+const Cursor& northWestResizeCursor()
+{
+ return Cursors::self()->NorthWestResizeCursor;
+}
+
+const Cursor& southResizeCursor()
+{
+ return Cursors::self()->SouthResizeCursor;
+}
+
+const Cursor& southEastResizeCursor()
+{
+ return Cursors::self()->SouthEastResizeCursor;
+}
+
+const Cursor& southWestResizeCursor()
+{
+ return Cursors::self()->SouthWestResizeCursor;
+}
+
+const Cursor& westResizeCursor()
+{
+ return Cursors::self()->WestResizeCursor;
+}
+
+const Cursor& northSouthResizeCursor()
+{
+ return Cursors::self()->NorthSouthResizeCursor;
+}
+
+const Cursor& eastWestResizeCursor()
+{
+ return Cursors::self()->EastWestResizeCursor;
+}
+
+const Cursor& northEastSouthWestResizeCursor()
+{
+ return Cursors::self()->NorthEastSouthWestResizeCursor;
+}
+
+const Cursor& northWestSouthEastResizeCursor()
+{
+ return Cursors::self()->NorthWestSouthEastResizeCursor;
+}
+
+const Cursor& columnResizeCursor()
+{
+ return Cursors::self()->ColumnResizeCursor;
+}
+
+const Cursor& rowResizeCursor()
+{
+ return Cursors::self()->RowResizeCursor;
+}
+
+const Cursor& middlePanningCursor()
+{
+ return Cursors::self()->MiddlePanningCursor;
+}
+
+const Cursor& eastPanningCursor()
+{
+ return Cursors::self()->EastPanningCursor;
+}
+
+const Cursor& northPanningCursor()
+{
+ return Cursors::self()->NorthPanningCursor;
+}
+
+const Cursor& northEastPanningCursor()
+{
+ return Cursors::self()->NorthEastPanningCursor;
+}
+
+const Cursor& northWestPanningCursor()
+{
+ return Cursors::self()->NorthWestPanningCursor;
+}
+
+const Cursor& southPanningCursor()
+{
+ return Cursors::self()->SouthPanningCursor;
+}
+
+const Cursor& southEastPanningCursor()
+{
+ return Cursors::self()->SouthEastPanningCursor;
+}
+
+const Cursor& southWestPanningCursor()
+{
+ return Cursors::self()->SouthWestPanningCursor;
+}
+
+const Cursor& westPanningCursor()
+{
+ return Cursors::self()->WestPanningCursor;
+}
+
+const Cursor& verticalTextCursor()
+{
+ return Cursors::self()->VerticalTextCursor;
+}
+
+const Cursor& cellCursor()
+{
+ return Cursors::self()->CellCursor;
+}
+
+const Cursor& contextMenuCursor()
+{
+ return Cursors::self()->ContextMenuCursor;
+}
+
+const Cursor& noDropCursor()
+{
+ return Cursors::self()->NoDropCursor;
+}
+
+const Cursor& copyCursor()
+{
+ return Cursors::self()->CopyCursor;
+}
+
+const Cursor& progressCursor()
+{
+ return Cursors::self()->ProgressCursor;
+}
+
+const Cursor& aliasCursor()
+{
+ return Cursors::self()->AliasCursor;
+}
+
+const Cursor& noneCursor()
+{
+ return Cursors::self()->NoneCursor;
+}
+
+const Cursor& notAllowedCursor()
+{
+ return Cursors::self()->NotAllowedCursor;
+}
+
+const Cursor& zoomInCursor()
+{
+ return Cursors::self()->ZoomInCursor;
+}
+
+const Cursor& zoomOutCursor()
+{
+ return Cursors::self()->ZoomOutCursor;
+}
+
+const Cursor& grabCursor()
+{
+ return Cursors::self()->GrabCursor;
+}
+
+const Cursor& grabbingCursor()
+{
+ return Cursors::self()->GrabbingCursor;
+}
+
+}