Changeset View
Changeset View
Standalone View
Standalone View
backends/xrandr/xrandroutput.h
Show First 20 Lines • Show All 55 Lines • ▼ Show 20 Line(s) | 41 | public: | |||
---|---|---|---|---|---|
56 | xcb_randr_output_t id() const; | 56 | xcb_randr_output_t id() const; | ||
57 | 57 | | |||
58 | bool isEnabled() const; | 58 | bool isEnabled() const; | ||
59 | bool isConnected() const; | 59 | bool isConnected() const; | ||
60 | bool isPrimary() const; | 60 | bool isPrimary() const; | ||
61 | 61 | | |||
62 | QPoint position() const; | 62 | QPoint position() const; | ||
63 | QSize size() const; | 63 | QSize size() const; | ||
64 | QSizeF scaledSize(xcb_render_transform_t transform) const; | ||||
64 | 65 | | |||
65 | QString currentModeId() const; | 66 | QString currentModeId() const; | ||
66 | XRandRMode::Map modes() const; | 67 | XRandRMode::Map modes() const; | ||
67 | XRandRMode* currentMode() const; | 68 | XRandRMode* currentMode() const; | ||
68 | 69 | | |||
69 | KScreen::Output::Rotation rotation() const; | 70 | KScreen::Output::Rotation rotation() const; | ||
70 | bool isHorizontal() const; | 71 | bool isHorizontal() const; | ||
71 | 72 | | |||
72 | QByteArray edid() const; | 73 | QByteArray edid() const; | ||
73 | XRandRCrtc* crtc() const; | 74 | XRandRCrtc* crtc() const; | ||
74 | 75 | | |||
75 | KScreen::OutputPtr toKScreenOutput() const; | 76 | KScreen::OutputPtr toKScreenOutput() const; | ||
76 | 77 | | |||
78 | bool updateReplicationSource(); | ||||
79 | bool applyReplicationSource(); | ||||
80 | | ||||
81 | xcb_randr_output_t replicationSource() const; | ||||
82 | void setReplicationSource(xcb_randr_output_t source); | ||||
83 | | ||||
84 | xcb_render_transform_t currentTransform() const; | ||||
85 | | ||||
77 | private: | 86 | private: | ||
78 | void init(); | 87 | void init(); | ||
79 | void updateModes(const XCB::OutputInfo &outputInfo); | 88 | void updateModes(const XCB::OutputInfo &outputInfo); | ||
80 | 89 | | |||
81 | static KScreen::Output::Type fetchOutputType(xcb_randr_output_t outputId, const QString &name); | 90 | static KScreen::Output::Type fetchOutputType(xcb_randr_output_t outputId, const QString &name); | ||
82 | static QByteArray typeFromProperty(xcb_randr_output_t outputId); | 91 | static QByteArray typeFromProperty(xcb_randr_output_t outputId); | ||
83 | 92 | | |||
93 | xcb_render_transform_t getReplicationTransform(XRandROutput *source); | ||||
94 | | ||||
95 | /** | ||||
96 | * This makes an educated guess based on position, size and scale if @param output is a | ||||
97 | * replication source for this output. | ||||
98 | * | ||||
99 | * @return true if this output can be seen as a replica of @param output | ||||
100 | */ | ||||
101 | bool isReplicaOf(XRandROutput *output, xcb_render_transform_t ownTransform) const; | ||||
102 | | ||||
84 | XRandRConfig *m_config; | 103 | XRandRConfig *m_config; | ||
85 | xcb_randr_output_t m_id; | 104 | xcb_randr_output_t m_id; | ||
86 | QString m_name; | 105 | QString m_name; | ||
87 | QString m_icon; | 106 | QString m_icon; | ||
88 | mutable QByteArray m_edid; | 107 | mutable QByteArray m_edid; | ||
89 | 108 | | |||
90 | xcb_randr_connection_t m_connected; | 109 | xcb_randr_connection_t m_connected; | ||
91 | bool m_primary; | 110 | bool m_primary; | ||
92 | KScreen::Output::Type m_type; | 111 | KScreen::Output::Type m_type; | ||
93 | 112 | | |||
94 | XRandRMode::Map m_modes; | 113 | XRandRMode::Map m_modes; | ||
95 | QStringList m_preferredModes; | 114 | QStringList m_preferredModes; | ||
96 | 115 | | |||
97 | QList<xcb_randr_output_t> m_clones; | 116 | QList<xcb_randr_output_t> m_clones; | ||
117 | xcb_randr_output_t m_replicationSource; | ||||
118 | xcb_randr_output_t m_pendingReplicationSource; | ||||
98 | 119 | | |||
99 | unsigned int m_widthMm; | 120 | unsigned int m_widthMm; | ||
100 | unsigned int m_heightMm; | 121 | unsigned int m_heightMm; | ||
101 | 122 | | |||
102 | bool m_hotplugModeUpdate = false; | 123 | bool m_hotplugModeUpdate = false; | ||
103 | XRandRCrtc *m_crtc; | 124 | XRandRCrtc *m_crtc; | ||
104 | }; | 125 | }; | ||
105 | 126 | | |||
106 | Q_DECLARE_METATYPE(XRandROutput::Map) | 127 | Q_DECLARE_METATYPE(XRandROutput::Map) |