Back to index

unity  6.0.0
LauncherOptions.h
Go to the documentation of this file.
00001 // -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*-
00002 /*
00003  * Copyright (C) 2010 Canonical Ltd
00004  *
00005  * This program is free software: you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License version 3 as
00007  * published by the Free Software Foundation.
00008  *
00009  * This program is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
00016  *
00017  * Authored by: Jason Smith <jason.smith@canonical.com>
00018  *              Tim Penhey <tim.penhey@canonical.com>
00019  */
00020 
00021 #ifndef LAUNCHEROPTIONS_H
00022 #define LAUNCHEROPTIONS_H
00023 
00024 #include <memory>
00025 #include <vector>
00026 #include <sigc++/sigc++.h>
00027 #include <core/core.h>
00028 
00029 #include <Nux/Nux.h>
00030 
00031 namespace unity
00032 {
00033 namespace launcher
00034 {
00035 
00036 enum LauncherHideMode
00037 {
00038   LAUNCHER_HIDE_NEVER,
00039   LAUNCHER_HIDE_AUTOHIDE,
00040 };
00041 
00042 enum LaunchAnimation
00043 {
00044   LAUNCH_ANIMATION_NONE,
00045   LAUNCH_ANIMATION_PULSE,
00046   LAUNCH_ANIMATION_BLINK,
00047 };
00048 
00049 enum UrgentAnimation
00050 {
00051   URGENT_ANIMATION_NONE,
00052   URGENT_ANIMATION_PULSE,
00053   URGENT_ANIMATION_WIGGLE,
00054 };
00055 
00056 enum AutoHideAnimation
00057 {
00058   FADE_OR_SLIDE,
00059   SLIDE_ONLY,
00060   FADE_ONLY,
00061   FADE_AND_SLIDE,
00062 };
00063 
00064 enum BacklightMode
00065 {
00066   BACKLIGHT_ALWAYS_ON,
00067   BACKLIGHT_NORMAL,
00068   BACKLIGHT_ALWAYS_OFF,
00069   BACKLIGHT_EDGE_TOGGLE,
00070   BACKLIGHT_NORMAL_EDGE_TOGGLE
00071 };
00072 
00073 enum RevealTrigger
00074 {
00075   EDGE,
00076   CORNER,
00077 };
00078 
00079 class Options : public sigc::trackable
00080 {
00081 public:
00082   typedef std::shared_ptr<Options> Ptr;
00083 
00084   Options();
00085 
00086   nux::Property<LauncherHideMode> hide_mode;
00087   nux::Property<LaunchAnimation> launch_animation;
00088   nux::Property<UrgentAnimation> urgent_animation;
00089   nux::Property<AutoHideAnimation> auto_hide_animation;
00090   nux::Property<BacklightMode> backlight_mode;
00091   nux::Property<RevealTrigger> reveal_trigger;
00092   nux::Property<int> icon_size;
00093   nux::Property<int> tile_size;
00094   nux::Property<float> background_alpha;
00095   nux::Property<int> edge_decay_rate;
00096   nux::Property<int> edge_overcome_pressure;
00097   nux::Property<int> edge_stop_velocity;
00098   nux::Property<int> edge_reveal_pressure;
00099   nux::Property<float> edge_responsiveness;
00100   nux::Property<bool> edge_resist;
00101   nux::Property<bool> show_for_all;
00102 
00103   sigc::signal<void> option_changed;
00104 };
00105 
00106 }
00107 }
00108 
00109 #endif // LAUNCHEROPTIONS_H