private IBorderInterface borderInterface = null;
private Layer borderWindowRootLayer = null;
private Layer borderWindowBottomLayer = null;
+ private WindowOrientation currentOrientation;
// for border area
private View rootView = null;
SetMimimumSize(mimimumSize);
minSize = borderInterface.MinSize;
}
-
+
if (maxSize != borderInterface.MaxSize || (borderInterface.MaxSize != null && isNeedResizeByLine == true))
{
using Size2D maximumSize = new Size2D((borderInterface.MaxSize?.Width + (int)borderLineThickness * 2 ?? 0), (borderInterface.MaxSize?.Height ?? 0) + (int)(borderHeight + borderLineThickness * 2));
SetMaximumSize(maximumSize);
maxSize = borderInterface.MaxSize;
}
-
+
if (borderResizePolicy != borderInterface.ResizePolicy)
{
AddAuxiliaryHint("wm.policy.win.resize_aspect_ratio", "0");
AddAuxiliaryHint("wm.policy.win.resize_aspect_ratio", "1");
}
}
-
+
}
}
/// <summary>
if (CreateBorder() == true)
{
+ Tizen.Log.Info("NUI", $"currentOrientation {currentOrientation}\n");
+ currentOrientation = GetCurrentOrientation();
+ currentOrientation = (currentOrientation == WindowOrientation.Portrait || currentOrientation == WindowOrientation.PortraitInverse) ? WindowOrientation.Portrait : WindowOrientation.Landscape;
+
using var realWindowSize = new Size2D(WindowSize.Width, WindowSize.Height);
isBorderWindow = true;
Moved += OnBorderWindowMoved;
+ OrientationChanged += OnBorderWindowOrientationChanged;
+
borderInterface.OnCreated(borderView);
// Increase the window size as much as the border area.
borderInterface.OnMoved(e.WindowPosition.X, e.WindowPosition.X);
}
+ private void OnBorderWindowOrientationChanged(object sender, WindowOrientationChangedEventArgs e)
+ {
+ WindowOrientation orientation = e.WindowOrientation;
+ orientation = (orientation == WindowOrientation.Portrait || orientation == WindowOrientation.PortraitInverse) ? WindowOrientation.Portrait : WindowOrientation.Landscape;
+ if (currentOrientation != orientation)
+ {
+ if (isEnabledOverlayMode == false && IsFloatingModeEnabled() == false)
+ {
+ using var val = new Uint16Pair(Interop.Window.GetSize(SwigCPtr), true);
+ Tizen.Log.Info("NUI", $"OnBorderWindowOrientationChanged {e.WindowOrientation} {val.GetWidth()},{val.GetHeight()}\n");
+ uint borderLine = borderLineThickness * 2;
+ WindowSize = new Size2D((int)(val.GetWidth() - borderHeight - borderLine), (int)(val.GetHeight() - borderLine));
+ }
+ }
+ currentOrientation = orientation;
+ }
// Called when the window size has changed.
private void OnBorderWindowResized(object sender, Window.ResizedEventArgs e)
{
Resized -= OnBorderWindowResized;
FocusChanged -= OnWindowFocusChanged;
+ Moved -= OnBorderWindowMoved;
+ OrientationChanged -= OnBorderWindowOrientationChanged;
borderInterface.Dispose();
GetBorderWindowBottomLayer().Dispose();
}