#include <algorithm>
#include <cmath>
#include <cstdlib>
#include "scene.h"
#include "mat.h"
#include "options.h"
#include "stack.h"
#include "vec.h"
#include "log.h"
#include "program.h"
#include "shader-source.h"
#include "util.h"
#include "texture.h"
enum BlurDirection { … };
static void
create_blur_shaders(ShaderSource& vtx_source, ShaderSource& frg_source,
unsigned int radius, float sigma, BlurDirection direction)
{ … }
class RenderObject
{ … };
int RenderObject::use_count = …;
Program RenderObject::main_program;
class RenderScreen : public RenderObject
{ … };
class RenderClearImage : public RenderObject
{ … };
class RenderWindowBlur : public RenderObject
{ … };
class RenderWindowShadow : public RenderObject
{ … };
int RenderWindowBlur::use_count = …;
RenderClearImage RenderWindowBlur::window_contents_("desktop-window");
int RenderWindowShadow::use_count = …;
RenderClearImage RenderWindowShadow::window_contents_("desktop-window");
RenderClearImage RenderWindowShadow::shadow_h_("desktop-shadow");
RenderClearImage RenderWindowShadow::shadow_v_("desktop-shadow");
RenderClearImage RenderWindowShadow::shadow_corner_("desktop-shadow-corner");
struct SceneDesktopPrivate
{ … };
SceneDesktop::SceneDesktop(Canvas &canvas) : … { … }
SceneDesktop::~SceneDesktop()
{ … }
bool
SceneDesktop::supported(bool show_errors)
{ … }
bool
SceneDesktop::load()
{ … }
void
SceneDesktop::unload()
{ … }
bool
SceneDesktop::setup()
{ … }
void
SceneDesktop::teardown()
{ … }
void
SceneDesktop::update()
{ … }
void
SceneDesktop::draw()
{ … }
Scene::ValidationResult
SceneDesktop::validate()
{ … }