~alan-griffiths/mir/migrate-tests-to-miral

« back to all changes in this revision

Viewing changes to src/miral/coordinate_translator.h

  • Committer: Christopher James Halse Rogers
  • Date: 2017-09-07 05:58:13 UTC
  • mfrom: (4242 development-branch)
  • mto: (4243.1.1 mir3)
  • mto: This revision was merged to the branch mainline in revision 4244.
  • Revision ID: christopher.halse.rogers@canonical.com-20170907055813-4qsg25nirybc8jj3
Merge trunk, resolving conflict

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright © 2016 Canonical Ltd.
 
3
 *
 
4
 * This program is free software: you can redistribute it and/or modify it
 
5
 * under the terms of the GNU General Public License version 2 or 3 as
 
6
 * published by the Free Software Foundation.
 
7
 *
 
8
 * This program is distributed in the hope that it will be useful,
 
9
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
11
 * GNU General Public License for more details.
 
12
 *
 
13
 * You should have received a copy of the GNU General Public License
 
14
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
15
 *
 
16
 * Authored by: Alan Griffiths <alan@octopull.co.uk>
 
17
 */
 
18
 
 
19
#ifndef MIRAL_COORDINATE_TRANSLATOR_H
 
20
#define MIRAL_COORDINATE_TRANSLATOR_H
 
21
 
 
22
#include <mir/scene/coordinate_translator.h>
 
23
 
 
24
#include <atomic>
 
25
 
 
26
#ifdef __clang__
 
27
#pragma clang diagnostic push
 
28
#pragma clang diagnostic ignored "-Winconsistent-missing-override"
 
29
#endif
 
30
 
 
31
namespace miral
 
32
{
 
33
class CoordinateTranslator : public mir::scene::CoordinateTranslator
 
34
{
 
35
public:
 
36
    void enable_debug_api();
 
37
    void disable_debug_api();
 
38
 
 
39
    auto surface_to_screen(std::shared_ptr<mir::frontend::Surface> surface, int32_t x, int32_t y)
 
40
        -> mir::geometry::Point override;
 
41
 
 
42
    bool translation_supported() const;
 
43
 
 
44
private:
 
45
    std::atomic<bool> enabled{false};
 
46
};
 
47
}
 
48
#ifdef __clang__
 
49
#pragma clang diagnostic pop
 
50
#endif
 
51
 
 
52
#endif //MIRAL_COORDINATE_TRANSLATOR_H