class TizenWindow : public std::enable_shared_from_this<TizenWindow> {
public:
- TizenWindow(int pid, Rect<int> geometry, bool transformed, bool alpha, int opaque, int visibility, bool focused, bool mapped, int layer, std::string name);
+ TizenWindow(int pid, Rect<int> geometry, int windowAngle, int targetAngle, bool transformed, bool alpha, int opaque, int visibility, bool focused, bool mapped, int layer, std::string name);
~TizenWindow();
int getPid();
Rect<int> getWindowGeometry();
+ int getWindowAngle();
+ int getTargetAngle();
bool isTransformed();
bool isAlpha();
int getOpaque();
private:
int mPid; // window's PID
Rect<int> mWindowGeometry; // window's geometry
+ int mWindowAngle; // window's angle
+ int mTargetAngle; // device's angle
bool mIsTransformed; // true : transformed window
bool mIsAlpha; // true : alpha
int mOpaque; // true : opaque state set window
#define WM_BUS_NAME "org.enlightenment.wm"
#define WM_OBJECT_PATH "/org/enlightenment/wm"
#define WM_INTERFACE_NAME "org.enlightenment.wm.proc"
-#define WM_METHOD_NAME_INFO "GetVisibleWinInfo_v2"
+#define WM_METHOD_NAME_INFO "GetVisibleWinInfo_v3"
std::mutex TizenDeviceImpl::CaptureMutex = std::mutex{};
std::vector<std::shared_ptr<TizenWindow>> TizenDeviceImpl::mTizenWindows;
int y;
int w;
int h;
+ int winAngle;
+ int targetAngle;
gboolean transformed;
gboolean alpha;
int opaque;
goto out;
}
- g_variant_get(body, "(a(iiiiibbiibbis))", &iter);
+ g_variant_get(body, "(a(iiiiiiibbiibbis))", &iter);
if (!iter) {
LOGE("Failed to get iter");
goto out;
}
- LOGI("%-3s | %-6s | %-4s | %-4s | %-4s | %-4s | %-5s | %-5s | %-6s | %-3s | %-7s | %-6s | %-5s | %-20s", "No" ,"PID", "X", "Y", "W", "H", "Trans", "Alpha", "Opaque", "Vis", "Focused", "Mapped", "Layer", "Name");
- while (g_variant_iter_loop(iter, "(iiiiibbiibbis)",
+ LOGI("%-3s | %-6s | %-4s | %-4s | %-4s | %-4s | %-9s | %-12s | %-5s | %-5s | %-6s | %-3s | %-7s | %-6s | %-5s | %-20s", "No" ,"PID", "X", "Y", "W", "H", "Win Angle", "Target Angle", "Trans", "Alpha", "Opaque", "Vis", "Focused", "Mapped", "Layer", "Name");
+ while (g_variant_iter_loop(iter, "(iiiiiiibbiibbis)",
&pid,
&x,
&y,
&w,
&h,
+ &winAngle,
+ &targetAngle,
&transformed,
&alpha,
&opaque,
&mapped,
&layer,
&name)) {
- LOGI("%-3d | %-6d | %-4d | %-4d | %-4d | %-4d | %-5d | %-5d | %-6d | %-3d | %-7d | %-6d | %-5d | %-20s", idx++, pid, x,y,w,h, transformed, alpha, opaque, visibility, focused, mapped, layer, name);
+ LOGI("%-3d | %-6d | %-4d | %-4d | %-4d | %-4d | %-9d | %-12d | %-5d | %-5d | %-6d | %-3d | %-7d | %-6d | %-5d | %-20s", idx++, pid, x,y,w,h, winAngle, targetAngle, transformed, alpha, opaque, visibility, focused, mapped, layer, name);
if (visibility == 0 && pid > 0)
{
- Rect<int> geometry = {x, y, w, h};
+ Rect<int> geometry = {x, y, w, h};
std::string winName(name);
- mTizenWindows.push_back(std::make_shared<Aurum::TizenWindow>(pid, geometry, transformed, alpha, opaque, visibility, focused, mapped, layer, winName));
+ mTizenWindows.push_back(std::make_shared<Aurum::TizenWindow>(pid, geometry, winAngle, targetAngle, transformed, alpha, opaque, visibility, focused, mapped, layer, winName));
}
}
using namespace Aurum;
-TizenWindow::TizenWindow(int pid, Rect<int> geometry, bool transformed, bool alpha, int opaque, int visibility, bool focused, bool mapped, int layer, std::string name)
- : mPid(pid), mWindowGeometry(geometry), mIsTransformed(transformed), mIsAlpha(alpha), mOpaque(opaque), mVisibility(visibility), mIsFocused(focused), mIsMapped(mapped), mLayer(layer), mName(name)
+TizenWindow::TizenWindow(int pid, Rect<int> geometry, int windowAngle, int targetAngle, bool transformed, bool alpha, int opaque, int visibility, bool focused, bool mapped, int layer, std::string name)
+ : mPid(pid), mWindowGeometry(geometry), mWindowAngle(windowAngle), mTargetAngle(targetAngle),mIsTransformed(transformed), mIsAlpha(alpha), mOpaque(opaque), mVisibility(visibility), mIsFocused(focused), mIsMapped(mapped), mLayer(layer), mName(name)
{
}
return mWindowGeometry;
}
+int TizenWindow::getWindowAngle()
+{
+ return mWindowAngle;
+}
+
+int TizenWindow::getTargetAngle()
+{
+ return mTargetAngle;
+}
+
bool TizenWindow::isTransformed()
{
return mIsTransformed;
std::string TizenWindow::getName()
{
return mName;
-}
\ No newline at end of file
+}