added shape
This commit is contained in:
parent
34e479a1d4
commit
16d5dfd6f2
2 changed files with 25 additions and 13 deletions
|
@ -19,15 +19,16 @@
|
||||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
// DEALINGS IN THE SOFTWARE.
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
// $Id: FbWinFrame.cc,v 1.29 2003/06/24 14:05:00 fluxgen Exp $
|
// $Id: FbWinFrame.cc,v 1.30 2003/07/10 11:36:21 fluxgen Exp $
|
||||||
|
|
||||||
#include "FbWinFrame.hh"
|
#include "FbWinFrame.hh"
|
||||||
#include "ImageControl.hh"
|
#include "ImageControl.hh"
|
||||||
#include "EventManager.hh"
|
#include "EventManager.hh"
|
||||||
#include "TextButton.hh"
|
#include "TextButton.hh"
|
||||||
#include "App.hh"
|
#include "App.hh"
|
||||||
|
#include "FbWinFrameTheme.hh"
|
||||||
#ifdef SHAPE
|
#ifdef SHAPE
|
||||||
//#include "Shape.hh"
|
#include "Shape.hh"
|
||||||
#endif // SHAPE
|
#endif // SHAPE
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
@ -71,9 +72,8 @@ FbWinFrame::FbWinFrame(FbWinFrameTheme &theme, FbTk::ImageControl &imgctrl,
|
||||||
m_focused(false),
|
m_focused(false),
|
||||||
m_visible(false),
|
m_visible(false),
|
||||||
m_button_pm(0),
|
m_button_pm(0),
|
||||||
m_themelistener(*this) {
|
m_themelistener(*this),
|
||||||
|
m_shape(new Shape(m_window, theme.shapePlace())) {
|
||||||
// m_shape(new Shape(m_window, 0)) { //Shape::TOPLEFT | Shape::TOPRIGHT)) {
|
|
||||||
theme.addListener(m_themelistener);
|
theme.addListener(m_themelistener);
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
@ -488,8 +488,6 @@ void FbWinFrame::configureNotifyEvent(XConfigureEvent &event) {
|
||||||
|
|
||||||
void FbWinFrame::reconfigure() {
|
void FbWinFrame::reconfigure() {
|
||||||
m_window.clear();
|
m_window.clear();
|
||||||
// if (m_shape.get())
|
|
||||||
// m_shape->update();
|
|
||||||
|
|
||||||
// align titlebar and render it
|
// align titlebar and render it
|
||||||
if (m_use_titlebar)
|
if (m_use_titlebar)
|
||||||
|
@ -542,6 +540,17 @@ void FbWinFrame::reconfigure() {
|
||||||
renderButtons();
|
renderButtons();
|
||||||
if (!m_shaded)
|
if (!m_shaded)
|
||||||
renderHandles();
|
renderHandles();
|
||||||
|
|
||||||
|
if (m_shape.get() && theme().shapePlace() == Shape::NONE)
|
||||||
|
m_shape.reset(0);
|
||||||
|
else if (m_shape.get() == 0 && theme().shapePlace() != Shape::NONE)
|
||||||
|
m_shape.reset(new Shape(window(), theme().shapePlace()));
|
||||||
|
else if (m_shape.get())
|
||||||
|
m_shape->setPlaces(theme().shapePlace());
|
||||||
|
|
||||||
|
if (m_shape.get())
|
||||||
|
m_shape->update();
|
||||||
|
|
||||||
// titlebar stuff rendered already by reconftitlebar
|
// titlebar stuff rendered already by reconftitlebar
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,27 +19,29 @@
|
||||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
// DEALINGS IN THE SOFTWARE.
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
// $Id: FbWinFrame.hh,v 1.8 2003/05/21 23:59:53 rathnor Exp $
|
// $Id: FbWinFrame.hh,v 1.9 2003/07/10 11:36:21 fluxgen Exp $
|
||||||
|
|
||||||
#ifndef FBWINFRAME_HH
|
#ifndef FBWINFRAME_HH
|
||||||
#define FBWINFRAME_HH
|
#define FBWINFRAME_HH
|
||||||
|
|
||||||
#include "FbWindow.hh"
|
#include "FbWindow.hh"
|
||||||
#include "Button.hh"
|
|
||||||
#include "EventHandler.hh"
|
#include "EventHandler.hh"
|
||||||
#include "Font.hh"
|
|
||||||
#include "Text.hh"
|
|
||||||
#include "FbWinFrameTheme.hh"
|
|
||||||
#include "RefCount.hh"
|
#include "RefCount.hh"
|
||||||
#include "Command.hh"
|
|
||||||
#include "Observer.hh"
|
#include "Observer.hh"
|
||||||
|
#include "Color.hh"
|
||||||
|
#include "FbPixmap.hh"
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
class Shape;
|
||||||
class FbWinFrameTheme;
|
class FbWinFrameTheme;
|
||||||
namespace FbTk {
|
namespace FbTk {
|
||||||
class ImageControl;
|
class ImageControl;
|
||||||
|
class Command;
|
||||||
|
class Button;
|
||||||
|
class Texture;
|
||||||
};
|
};
|
||||||
|
|
||||||
/// holds a window frame with a client window
|
/// holds a window frame with a client window
|
||||||
|
@ -266,6 +268,7 @@ private:
|
||||||
FbWinFrame &m_frame;
|
FbWinFrame &m_frame;
|
||||||
};
|
};
|
||||||
ThemeListener m_themelistener;
|
ThemeListener m_themelistener;
|
||||||
|
std::auto_ptr<Shape> m_shape;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FBWINFRAME_HH
|
#endif // FBWINFRAME_HH
|
||||||
|
|
Loading…
Reference in a new issue