You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
amarok/amarok/src/vis/libvisual/libvisual.h

89 lines
2.3 KiB

/***************************************************************************
* Copyright (C) 2004, 2005 Max Howell <max.howell@methylblue.com> *
* *
* 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. *
* *
***************************************************************************/
#ifndef LIBVISUAL_H
#define LIBVISUAL_H
extern "C"
{
#include <libvisual/libvisual.h>
#include <SDL.h>
}
namespace SDL
{
static SDL_Surface *screen = 0;
static SDL_Color pal[256];
static void init();
static bool event_handler();
static void quit();
static inline void lock() { if( SDL_MUSTLOCK( screen ) == SDL_TRUE ) SDL_LockSurface( screen ); }
static inline void unlock() { if( SDL_MUSTLOCK( screen ) == SDL_TRUE ) SDL_UnlockSurface( screen ); }
static inline bool
isFullScreen()
{
return (screen->flags & SDL_FULLSCREEN) > 0;
}
static inline void
toggleFullScreen()
{
SDL_WM_ToggleFullScreen( screen );
SDL_ShowCursor( (screen->flags & SDL_FULLSCREEN) > 0 ? SDL_DISABLE : SDL_ENABLE );
}
}
namespace LibVisual
{
static VisVideo *video;
static VisPalette *pal;
static VisBin *bin;
static const char *plugin;
static bool pluginIsGL = false;
static int16_t pcm_data[1024];
static void init( int&, char**& );
static uint render();
static void resize( int, int );
static inline void
nextActor()
{
plugin = visual_actor_get_next_by_name( plugin );
if( plugin == 0 ) plugin = visual_actor_get_next_by_name( 0 );
}
static inline void
prevActor()
{
plugin = visual_actor_get_prev_by_name( plugin );
if( plugin == 0 ) plugin = visual_actor_get_prev_by_name( 0 );
}
static inline void
exit( const char *msg )
{
std::cerr << msg << std::endl;
std::exit( -3 );
}
}
namespace Vis = LibVisual;
static int tryConnect( const char *path );
#endif