Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-1.1
Commits
93cdb2f1
Commit
93cdb2f1
authored
Jan 09, 2005
by
Cyril Deguet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- all: skeleton for a MacOSX port of skins2 (happy new year ;)
parent
4aae8a68
Changes
16
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
987 additions
and
0 deletions
+987
-0
modules/gui/skins2/Modules.am
modules/gui/skins2/Modules.am
+15
-0
modules/gui/skins2/macosx/macosx_dragdrop.cpp
modules/gui/skins2/macosx/macosx_dragdrop.cpp
+36
-0
modules/gui/skins2/macosx/macosx_dragdrop.hpp
modules/gui/skins2/macosx/macosx_dragdrop.hpp
+43
-0
modules/gui/skins2/macosx/macosx_factory.cpp
modules/gui/skins2/macosx/macosx_factory.cpp
+129
-0
modules/gui/skins2/macosx/macosx_factory.hpp
modules/gui/skins2/macosx/macosx_factory.hpp
+93
-0
modules/gui/skins2/macosx/macosx_graphics.cpp
modules/gui/skins2/macosx/macosx_graphics.cpp
+97
-0
modules/gui/skins2/macosx/macosx_graphics.hpp
modules/gui/skins2/macosx/macosx_graphics.hpp
+82
-0
modules/gui/skins2/macosx/macosx_loop.cpp
modules/gui/skins2/macosx/macosx_loop.cpp
+75
-0
modules/gui/skins2/macosx/macosx_loop.hpp
modules/gui/skins2/macosx/macosx_loop.hpp
+54
-0
modules/gui/skins2/macosx/macosx_timer.cpp
modules/gui/skins2/macosx/macosx_timer.cpp
+54
-0
modules/gui/skins2/macosx/macosx_timer.hpp
modules/gui/skins2/macosx/macosx_timer.hpp
+53
-0
modules/gui/skins2/macosx/macosx_tooltip.cpp
modules/gui/skins2/macosx/macosx_tooltip.cpp
+53
-0
modules/gui/skins2/macosx/macosx_tooltip.hpp
modules/gui/skins2/macosx/macosx_tooltip.hpp
+50
-0
modules/gui/skins2/macosx/macosx_window.cpp
modules/gui/skins2/macosx/macosx_window.cpp
+79
-0
modules/gui/skins2/macosx/macosx_window.hpp
modules/gui/skins2/macosx/macosx_window.hpp
+70
-0
modules/gui/skins2/src/os_factory.cpp
modules/gui/skins2/src/os_factory.cpp
+4
-0
No files found.
modules/gui/skins2/Modules.am
View file @
93cdb2f1
...
...
@@ -190,4 +190,19 @@ SOURCES_skins2 = \
x11/x11_window.hpp \
x11/x11_tooltip.cpp \
x11/x11_tooltip.hpp \
\
macosx/macosx_dragdrop.cpp \
macosx/macosx_dragdrop.hpp \
macosx/macosx_factory.cpp \
macosx/macosx_factory.hpp \
macosx/macosx_graphics.cpp \
macosx/macosx_graphics.hpp \
macosx/macosx_loop.cpp \
macosx/macosx_loop.hpp \
macosx/macosx_timer.cpp \
macosx/macosx_timer.hpp \
macosx/macosx_window.cpp \
macosx/macosx_window.hpp \
macosx/macosx_tooltip.cpp \
macosx/macosx_tooltip.hpp \
$(NULL)
modules/gui/skins2/macosx/macosx_dragdrop.cpp
0 → 100644
View file @
93cdb2f1
/*****************************************************************************
* macosx_dragdrop.cpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifdef MACOSX_SKINS
#include "macosx_dragdrop.hpp"
MacOSXDragDrop
::
MacOSXDragDrop
(
intf_thread_t
*
pIntf
,
bool
playOnDrop
)
:
SkinObject
(
pIntf
),
m_playOnDrop
(
playOnDrop
)
{
// TODO
}
#endif
modules/gui/skins2/macosx/macosx_dragdrop.hpp
0 → 100644
View file @
93cdb2f1
/*****************************************************************************
* macosx_dragdrop.hpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifndef MACOSX_DRAGDROP_HPP
#define MACOSX_DRAGDROP_HPP
#include "../src/skin_common.hpp"
class
MacOSXDragDrop
:
public
SkinObject
{
public:
typedef
long
ldata_t
[
5
];
MacOSXDragDrop
(
intf_thread_t
*
pIntf
,
bool
playOnDrop
);
virtual
~
MacOSXDragDrop
()
{}
private:
/// Indicates whether the file(s) must be played immediately
bool
m_playOnDrop
;
};
#endif
modules/gui/skins2/macosx/macosx_factory.cpp
0 → 100644
View file @
93cdb2f1
/*****************************************************************************
* macosx_factory.cpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifdef MACOSX_SKINS
#include "macosx_factory.hpp"
#include "macosx_graphics.hpp"
#include "macosx_loop.hpp"
#include "macosx_timer.hpp"
#include "macosx_window.hpp"
#include "macosx_tooltip.hpp"
MacOSXFactory
::
MacOSXFactory
(
intf_thread_t
*
pIntf
)
:
OSFactory
(
pIntf
),
m_dirSep
(
"/"
)
{
// TODO
}
MacOSXFactory
::~
MacOSXFactory
()
{
// TODO
}
bool
MacOSXFactory
::
init
()
{
// TODO
return
true
;
}
OSGraphics
*
MacOSXFactory
::
createOSGraphics
(
int
width
,
int
height
)
{
return
new
MacOSXGraphics
(
getIntf
(),
width
,
height
);
}
OSLoop
*
MacOSXFactory
::
getOSLoop
()
{
return
MacOSXLoop
::
instance
(
getIntf
()
);
}
void
MacOSXFactory
::
destroyOSLoop
()
{
MacOSXLoop
::
destroy
(
getIntf
()
);
}
void
MacOSXFactory
::
minimize
()
{
// TODO
}
OSTimer
*
MacOSXFactory
::
createOSTimer
(
const
Callback
&
rCallback
)
{
return
new
MacOSXTimer
(
getIntf
(),
rCallback
);
}
OSWindow
*
MacOSXFactory
::
createOSWindow
(
GenericWindow
&
rWindow
,
bool
dragDrop
,
bool
playOnDrop
,
OSWindow
*
pParent
)
{
return
new
MacOSXWindow
(
getIntf
(),
rWindow
,
dragDrop
,
playOnDrop
,
(
MacOSXWindow
*
)
pParent
);
}
OSTooltip
*
MacOSXFactory
::
createOSTooltip
()
{
return
new
MacOSXTooltip
(
getIntf
()
);
}
int
MacOSXFactory
::
getScreenWidth
()
const
{
// TODO
return
0
;
}
int
MacOSXFactory
::
getScreenHeight
()
const
{
// TODO
return
0
;
}
Rect
MacOSXFactory
::
getWorkArea
()
const
{
// XXX
return
Rect
(
0
,
0
,
getScreenWidth
(),
getScreenHeight
()
);
}
void
MacOSXFactory
::
getMousePos
(
int
&
rXPos
,
int
&
rYPos
)
const
{
// TODO
}
void
MacOSXFactory
::
rmDir
(
const
string
&
rPath
)
{
// TODO
}
#endif
modules/gui/skins2/macosx/macosx_factory.hpp
0 → 100644
View file @
93cdb2f1
/*****************************************************************************
* macosx_factory.hpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifndef MACOSX_FACTORY_HPP
#define MACOSX_FACTORY_HPP
#include "../src/os_factory.hpp"
/// Class used to instanciate MacOSX specific objects
class
MacOSXFactory
:
public
OSFactory
{
public:
MacOSXFactory
(
intf_thread_t
*
pIntf
);
virtual
~
MacOSXFactory
();
/// Initialization method
virtual
bool
init
();
/// Instantiate an object OSGraphics.
virtual
OSGraphics
*
createOSGraphics
(
int
width
,
int
height
);
/// Get the instance of the singleton OSLoop.
virtual
OSLoop
*
getOSLoop
();
/// Destroy the instance of OSLoop.
virtual
void
destroyOSLoop
();
/// Instantiate an OSTimer with the given callback
virtual
OSTimer
*
createOSTimer
(
const
Callback
&
rCallback
);
///
virtual
void
minimize
();
/// Instantiate an OSWindow object
virtual
OSWindow
*
createOSWindow
(
GenericWindow
&
rWindow
,
bool
dragDrop
,
bool
playOnDrop
,
OSWindow
*
pParent
);
/// Instantiate an object OSTooltip.
virtual
OSTooltip
*
createOSTooltip
();
/// Get the directory separator
virtual
const
string
&
getDirSeparator
()
const
{
return
m_dirSep
;
}
/// Get the resource path
virtual
const
list
<
string
>
&
getResourcePath
()
const
{
return
m_resourcePath
;
}
/// Get the screen size
virtual
int
getScreenWidth
()
const
;
virtual
int
getScreenHeight
()
const
;
/// Get the work area (screen area without taskbars)
virtual
Rect
getWorkArea
()
const
;
/// Get the position of the mouse
virtual
void
getMousePos
(
int
&
rXPos
,
int
&
rYPos
)
const
;
/// Change the cursor
virtual
void
changeCursor
(
CursorType_t
type
)
const
{
/*TODO*/
}
/// Delete a directory recursively
virtual
void
rmDir
(
const
string
&
rPath
);
private:
/// Directory separator
const
string
m_dirSep
;
/// Resource path
list
<
string
>
m_resourcePath
;
};
#endif
modules/gui/skins2/macosx/macosx_graphics.cpp
0 → 100644
View file @
93cdb2f1
/*****************************************************************************
* macosx_graphics.cpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifdef MACOSX_SKINS
#include "macosx_graphics.hpp"
MacOSXGraphics
::
MacOSXGraphics
(
intf_thread_t
*
pIntf
,
int
width
,
int
height
)
:
OSGraphics
(
pIntf
),
m_width
(
width
),
m_height
(
height
)
{
// TODO
}
MacOSXGraphics
::~
MacOSXGraphics
()
{
// TODO
}
void
MacOSXGraphics
::
clear
()
{
// TODO
}
void
MacOSXGraphics
::
drawGraphics
(
const
OSGraphics
&
rGraphics
,
int
xSrc
,
int
ySrc
,
int
xDest
,
int
yDest
,
int
width
,
int
height
)
{
// TODO
}
void
MacOSXGraphics
::
drawBitmap
(
const
GenericBitmap
&
rBitmap
,
int
xSrc
,
int
ySrc
,
int
xDest
,
int
yDest
,
int
width
,
int
height
)
{
// TODO
}
void
MacOSXGraphics
::
fillRect
(
int
left
,
int
top
,
int
width
,
int
height
,
uint32_t
color
)
{
// TODO
}
void
MacOSXGraphics
::
drawRect
(
int
left
,
int
top
,
int
width
,
int
height
,
uint32_t
color
)
{
// TODO
}
void
MacOSXGraphics
::
applyMaskToWindow
(
OSWindow
&
rWindow
)
{
// TODO
}
void
MacOSXGraphics
::
copyToWindow
(
OSWindow
&
rWindow
,
int
xSrc
,
int
ySrc
,
int
width
,
int
height
,
int
xDest
,
int
yDest
)
{
// TODO
}
bool
MacOSXGraphics
::
hit
(
int
x
,
int
y
)
const
{
// TODO
return
false
;
}
#endif
modules/gui/skins2/macosx/macosx_graphics.hpp
0 → 100644
View file @
93cdb2f1
/*****************************************************************************
* macosx_graphics.hpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifndef MACOSX_GRAPHICS_HPP
#define MACOSX_GRAPHICS_HPP
#include "../src/os_graphics.hpp"
class
GenericWindow
;
class
GenericBitmap
;
/// MacOSX implementation of OSGraphics
class
MacOSXGraphics
:
public
OSGraphics
{
public:
MacOSXGraphics
(
intf_thread_t
*
pIntf
,
int
width
,
int
height
);
virtual
~
MacOSXGraphics
();
/// Clear the graphics
virtual
void
clear
();
/// Draw another graphics on this one
virtual
void
drawGraphics
(
const
OSGraphics
&
rGraphics
,
int
xSrc
=
0
,
int
ySrc
=
0
,
int
xDest
=
0
,
int
yDest
=
0
,
int
width
=
-
1
,
int
height
=
-
1
);
/// Render a bitmap on this graphics
virtual
void
drawBitmap
(
const
GenericBitmap
&
rBitmap
,
int
xSrc
=
0
,
int
ySrc
=
0
,
int
xDest
=
0
,
int
yDest
=
0
,
int
width
=
-
1
,
int
height
=
-
1
);
/// Draw a filled rectangle on the grahics (color is #RRGGBB)
virtual
void
fillRect
(
int
left
,
int
top
,
int
width
,
int
height
,
uint32_t
color
);
/// Draw an empty rectangle on the grahics (color is #RRGGBB)
virtual
void
drawRect
(
int
left
,
int
top
,
int
width
,
int
height
,
uint32_t
color
);
/// Set the shape of a window with the mask of this graphics.
virtual
void
applyMaskToWindow
(
OSWindow
&
rWindow
);
/// Copy the graphics on a window
virtual
void
copyToWindow
(
OSWindow
&
rWindow
,
int
xSrc
,
int
ySrc
,
int
width
,
int
height
,
int
xDest
,
int
yDest
);
/// Tell whether the pixel at the given position is visible
virtual
bool
hit
(
int
x
,
int
y
)
const
;
/// Getters
virtual
int
getWidth
()
const
{
return
m_width
;
}
virtual
int
getHeight
()
const
{
return
m_height
;
}
private:
/// Size of the image
int
m_width
,
m_height
;
};
#endif
modules/gui/skins2/macosx/macosx_loop.cpp
0 → 100644
View file @
93cdb2f1
/*****************************************************************************
* macosx_loop.cpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifdef MACOSX_SKINS
#include "macosx_loop.hpp"
MacOSXLoop
::
MacOSXLoop
(
intf_thread_t
*
pIntf
)
:
OSLoop
(
pIntf
)
{
// TODO
}
MacOSXLoop
::~
MacOSXLoop
()
{
// TODO
}
OSLoop
*
MacOSXLoop
::
instance
(
intf_thread_t
*
pIntf
)
{
if
(
pIntf
->
p_sys
->
p_osLoop
==
NULL
)
{
OSLoop
*
pOsLoop
=
new
MacOSXLoop
(
pIntf
);
pIntf
->
p_sys
->
p_osLoop
=
pOsLoop
;
}
return
pIntf
->
p_sys
->
p_osLoop
;
}
void
MacOSXLoop
::
destroy
(
intf_thread_t
*
pIntf
)
{
if
(
pIntf
->
p_sys
->
p_osLoop
)
{
delete
pIntf
->
p_sys
->
p_osLoop
;
pIntf
->
p_sys
->
p_osLoop
=
NULL
;
}
}
void
MacOSXLoop
::
run
()
{
// TODO
}
void
MacOSXLoop
::
exit
()
{
// TODO
}
#endif
modules/gui/skins2/macosx/macosx_loop.hpp
0 → 100644
View file @
93cdb2f1
/*****************************************************************************
* MacOSX_loop.hpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifndef MACOSX_LOOP_HPP
#define MACOSX_LOOP_HPP
#include "../src/os_loop.hpp"
class
MacOSXDisplay
;
class
GenericWindow
;
/// Main event loop for MacOSX (singleton)
class
MacOSXLoop
:
public
OSLoop
{
public:
/// Get the instance of MacOSXLoop
static
OSLoop
*
instance
(
intf_thread_t
*
pIntf
);
/// Destroy the instance of MacOSXLoop
static
void
destroy
(
intf_thread_t
*
pIntf
);
/// Enter the event loop
virtual
void
run
();
/// Exit the main loop
virtual
void
exit
();
private:
// Private because it's a singleton
MacOSXLoop
(
intf_thread_t
*
pIntf
);
virtual
~
MacOSXLoop
();
};
#endif
modules/gui/skins2/macosx/macosx_timer.cpp
0 → 100644
View file @
93cdb2f1
/*****************************************************************************
* macosx_timer.cpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifdef MACOSX_SKINS
#include "macosx_timer.hpp"
MacOSXTimer
::
MacOSXTimer
(
intf_thread_t
*
pIntf
,
const
Callback
&
rCallback
)
:
OSTimer
(
pIntf
),
m_callback
(
rCallback
)
{
// TODO
}
MacOSXTimer
::~
MacOSXTimer
()
{
// TODO
stop
();
}
void
MacOSXTimer
::
start
(
int
delay
,
bool
oneShot
)
{
// TODO
}
void
MacOSXTimer
::
stop
()
{
// TODO
}
#endif
modules/gui/skins2/macosx/macosx_timer.hpp
0 → 100644
View file @
93cdb2f1
/*****************************************************************************
* macosx_timer.hpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifndef MACOSX_TIMER_HPP
#define MACOSX_TIMER_HPP
#include "../src/os_timer.hpp"
// Forward declaration
class
MacOSXTimerLoop
;
// MacOSX specific timer
class
MacOSXTimer
:
public
OSTimer
{
public:
MacOSXTimer
(
intf_thread_t
*
pIntf
,
const
Callback
&
rCallback
);
virtual
~
MacOSXTimer
();
/// (Re)start the timer with the given delay (in ms). If oneShot is
/// true, stop it after the first execution of the callback.
virtual
void
start
(
int
delay
,
bool
oneShot
);
/// Stop the timer
virtual
void
stop
();
private:
/// Callback to execute
Callback
m_callback
;
};
#endif
modules/gui/skins2/macosx/macosx_tooltip.cpp
0 → 100644
View file @
93cdb2f1
/*****************************************************************************
* macosx_tooltip.cpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifdef MACOSX_SKINS
#include "macosx_tooltip.hpp"
MacOSXTooltip
::
MacOSXTooltip
(
intf_thread_t
*
pIntf
)
:
OSTooltip
(
pIntf
)
{
// TODO
}
MacOSXTooltip
::~
MacOSXTooltip
()
{
// TODO
}
void
MacOSXTooltip
::
show
(
int
left
,
int
top
,
OSGraphics
&
rText
)
{
// TODO
}
void
MacOSXTooltip
::
hide
()
{
// TODO
}
#endif
modules/gui/skins2/macosx/macosx_tooltip.hpp
0 → 100644
View file @
93cdb2f1
/*****************************************************************************
* macosx_tooltip.hpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifndef MACOSX_TOOLTIP_HPP
#define MACOSX_TOOLTIP_HPP
#include "../src/os_tooltip.hpp"
class
MacOSXDisplay
;
/// MacOSX implementation of OSTooltip
class
MacOSXTooltip
:
public
OSTooltip
{
public:
MacOSXTooltip
(
intf_thread_t
*
pIntf
);
virtual
~
MacOSXTooltip
();
// Show the tooltip
virtual
void
show
(
int
left
,
int
top
,
OSGraphics
&
rText
);
// Hide the tooltip
virtual
void
hide
();
private:
};
#endif
modules/gui/skins2/macosx/macosx_window.cpp
0 → 100644
View file @
93cdb2f1
/*****************************************************************************
* macosx_window.cpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifdef MACOSX_SKINS
#include "macosx_window.hpp"
MacOSXWindow
::
MacOSXWindow
(
intf_thread_t
*
pIntf
,
GenericWindow
&
rWindow
,
bool
dragDrop
,
bool
playOnDrop
,
MacOSXWindow
*
pParentWindow
)
:
OSWindow
(
pIntf
),
m_pParent
(
pParentWindow
),
m_dragDrop
(
dragDrop
)
{
// TODO
}
MacOSXWindow
::~
MacOSXWindow
()
{
// TODO
}
void
MacOSXWindow
::
show
(
int
left
,
int
top
)
const
{
// TODO
}
void
MacOSXWindow
::
hide
()
const
{
// TODO
}
void
MacOSXWindow
::
moveResize
(
int
left
,
int
top
,
int
width
,
int
height
)
const
{
// TODO
}
void
MacOSXWindow
::
raise
()
const
{
// TODO
}
void
MacOSXWindow
::
setOpacity
(
uint8_t
value
)
const
{
// TODO
}
void
MacOSXWindow
::
toggleOnTop
(
bool
onTop
)
const
{
// TODO
}
#endif
modules/gui/skins2/macosx/macosx_window.hpp
0 → 100644
View file @
93cdb2f1
/*****************************************************************************
* macosx_window.hpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifndef MACOSX_WINDOW_HPP
#define MACOSX_WINDOW_HPP
#include "../src/os_window.hpp"
class
MacOSXDisplay
;
class
MacOSXDragDrop
;
/// MacOSX implementation of OSWindow
class
MacOSXWindow
:
public
OSWindow
{
public:
MacOSXWindow
(
intf_thread_t
*
pIntf
,
GenericWindow
&
rWindow
,
bool
dragDrop
,
bool
playOnDrop
,
MacOSXWindow
*
pParentWindow
);
virtual
~
MacOSXWindow
();
// Show the window
virtual
void
show
(
int
left
,
int
top
)
const
;
// Hide the window
virtual
void
hide
()
const
;
/// Move the window
virtual
void
moveResize
(
int
left
,
int
top
,
int
width
,
int
height
)
const
;
/// Bring the window on top
virtual
void
raise
()
const
;
/// Set the opacity of the window (0 = transparent, 255 = opaque)
virtual
void
setOpacity
(
uint8_t
value
)
const
;
/// Toggle the window on top
virtual
void
toggleOnTop
(
bool
onTop
)
const
;
private:
/// Parent window
MacOSXWindow
*
m_pParent
;
/// Indicates whether the window handles drag&drop events
bool
m_dragDrop
;
};
#endif
modules/gui/skins2/src/os_factory.cpp
View file @
93cdb2f1
...
...
@@ -28,6 +28,8 @@
#include "../x11/x11_factory.hpp"
#elif defined WIN32_SKINS
#include "../win32/win32_factory.hpp"
#elif defined MACOSX_SKINS
#include "../macosx/macosx_factory.hpp"
#endif
OSFactory
*
OSFactory
::
instance
(
intf_thread_t
*
pIntf
)
...
...
@@ -39,6 +41,8 @@ OSFactory *OSFactory::instance( intf_thread_t *pIntf )
pOsFactory
=
new
X11Factory
(
pIntf
);
#elif defined WIN32_SKINS
pOsFactory
=
new
Win32Factory
(
pIntf
);
#elif defined MACOSX_SKINS
pOsFactory
=
new
MacOSXFactory
(
pIntf
);
#else
#error "No OSFactory implementation !"
#endif
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment