~canonical-dx-team/unity/unity.fix-ql-losing-focus

702.3.1 by Michael Terry
add modelines and fix up some inconsistent tabbings
1
// -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*-
604.4.1 by Mirco Müller
inital commit, doesn't compile atm, still missing much
2
/*
3
 * Copyright (C) 2010 Canonical Ltd
4
 *
5
 * This program is free software: you can redistribute it and/or modify
6
 * it under the terms of the GNU General Public License version 3 as
7
 * published by the Free Software Foundation.
8
 *
9
 * This program is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 * GNU General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU General Public License
15
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
 *
17
 * Authored by: Mirco Müller <mirco.mueller@canonical.com>
18
 */
19
20
#ifndef QUICKLISTMENUITEMSEPARATOR_H
21
#define QUICKLISTMENUITEMSEPARATOR_H
22
23
#include "Nux/Nux.h"
24
#include "Nux/View.h"
613.2.1 by Mirco Müller
Separator is rendered now, width and allocated space still need some work
25
#include "NuxImage/CairoGraphics.h"
604.4.1 by Mirco Müller
inital commit, doesn't compile atm, still missing much
26
#include "QuicklistMenuItem.h"
27
28
#include <X11/Xlib.h>
29
30
class QuicklistMenuItemSeparator : public QuicklistMenuItem
31
{
32
  public:
33
    QuicklistMenuItemSeparator (DbusmenuMenuitem* item,
34
                                NUX_FILE_LINE_PROTO);
35
36
    QuicklistMenuItemSeparator (DbusmenuMenuitem* item,
37
                                bool              debug,
38
                                NUX_FILE_LINE_PROTO);
39
40
    ~QuicklistMenuItemSeparator ();
41
613.1.17 by Jay Taoko
* Corrected issues resulting from code review
42
  protected:
43
    
604.4.2 by Mirco Müller
missed the View-related calls
44
    void PreLayoutManagement ();
45
46
    long PostLayoutManagement (long layoutResult);
47
613.1.17 by Jay Taoko
* Corrected issues resulting from code review
48
    long ProcessEvent (nux::IEvent& event, long traverseInfo, long processEventInfo);
49
50
    void Draw (nux::GraphicsEngine& gfxContext, bool forceDraw);
51
52
    void DrawContent (nux::GraphicsEngine& gfxContext, bool forceDraw);
53
54
    void PostDraw (nux::GraphicsEngine& gfxContext, bool forceDraw);
613.2.1 by Mirco Müller
Separator is rendered now, width and allocated space still need some work
55
613.1.9 by Jay Taoko
Quicklist Rendering code:
56
    virtual void UpdateTexture ();
57
    
58
    //! Returns the width of the separator line as defined by the size of the _normalTexture.
613.1.15 by Jay Taoko
* Quicklist item rendering
59
    virtual int CairoSurfaceWidth ();
613.1.9 by Jay Taoko
Quicklist Rendering code:
60
    
61
    friend class QuicklistView;
778.2.1 by Loïc Molinari
[rendering] Switched the rendering to premultiplied alpha blending
62
63
 private:
64
65
    nux::Color _premultiplied_color;
604.4.1 by Mirco Müller
inital commit, doesn't compile atm, still missing much
66
};
67
68
#endif // QUICKLISTMENUITEMSEPARATOR_H