Skip to content

Commit

Permalink
Merge pull request bitsdojo#4 from jjoelj/revert-3-revert-2-master
Browse files Browse the repository at this point in the history
Revert "Revert "Resolve name conflicts""
  • Loading branch information
jjoelj committed May 12, 2022
2 parents 480262a + 06e8bf2 commit 5317458
Show file tree
Hide file tree
Showing 7 changed files with 49 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ list(APPEND FLUTTER_PLUGIN_LIST
bitsdojo_window_windows
)

list(APPEND FLUTTER_FFI_PLUGIN_LIST
)

set(PLUGIN_BUNDLED_LIBRARIES)

foreach(plugin ${FLUTTER_PLUGIN_LIST})
Expand All @@ -14,3 +17,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin)

foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)
2 changes: 1 addition & 1 deletion bitsdojo_window/lib/src/widgets/mouse_state_builder.dart
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ class _MouseStateBuilderState extends State<MouseStateBuilder> {
_mouseState.isMouseDown = false;
_mouseState.isMouseOver = false;
});
WidgetsBinding.instance!.addPostFrameCallback((_) {
WidgetsBinding.instance.addPostFrameCallback((_) {
if (widget.onPressed != null) {
widget.onPressed!();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class BitsdojoWindowLinux extends BitsdojoWindowPlatform {

@override
void doWhenWindowReady(VoidCallback callback) {
WidgetsBinding.instance!.waitUntilFirstFrameRasterized.then((value) {
WidgetsBinding.instance.waitUntilFirstFrameRasterized.then((value) {
isInsideDoWhenWindowReady = true;
callback();
isInsideDoWhenWindowReady = false;
Expand Down
37 changes: 19 additions & 18 deletions bitsdojo_window_linux/lib/src/window.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'dart:ffi';
import 'dart:ui';
import 'dart:ui' as ui;
import 'package:flutter/painting.dart';

import 'package:ffi/ffi.dart';
Expand Down Expand Up @@ -35,8 +35,8 @@ Rect getScreenRectForWindow(int handle) {

class GtkWindow extends DesktopWindow {
int? handle;
Size? _minSize;
Size? _maxSize;
ui.Size? _minSize;
ui.Size? _maxSize;
Alignment? _alignment;
// size and position are cached during doWhenWindowReady
// because the window operations for setting size/position
Expand Down Expand Up @@ -89,8 +89,8 @@ class GtkWindow extends DesktopWindow {
}

@override
Size get size {
if (!isValidHandle(handle, "get size")) return Size.zero;
ui.Size get size {
if (!isValidHandle(handle, "get size")) return ui.Size.zero;

if (isInsideDoWhenWindowReady == true && _cached.rect != null) {
return _cached.rect!.size;
Expand All @@ -99,19 +99,20 @@ class GtkWindow extends DesktopWindow {
Pointer<Int32> nativeResult = malloc.allocate(sizeOf<Int32>() * 2);
native.getSize(
handle!, nativeResult.elementAt(0), nativeResult.elementAt(1));
Size result = Size(nativeResult[0].toDouble(), nativeResult[1].toDouble());
ui.Size result =
ui.Size(nativeResult[0].toDouble(), nativeResult[1].toDouble());
malloc.free(nativeResult);
final gotSize = getLogicalSize(result);
return gotSize;
}

Size get sizeOnScreen {
ui.Size get sizeOnScreen {
if (isInsideDoWhenWindowReady == true && _cached.rect != null) {
final sizeOnScreen = getSizeOnScreen(_cached.rect!.size);
return sizeOnScreen;
}
final winRect = this.rect;
return Size(winRect.width, winRect.height);
return ui.Size(winRect.width, winRect.height);
}

@override
Expand Down Expand Up @@ -140,24 +141,24 @@ class GtkWindow extends DesktopWindow {
}

@override
Size get titleBarButtonSize {
ui.Size get titleBarButtonSize {
// NOTE: This might be difficult to retrieve from gtk
Size result = Size(32, 32);
ui.Size result = ui.Size(32, 32);
return result;
}

Size getSizeOnScreen(Size inSize) {
ui.Size getSizeOnScreen(ui.Size inSize) {
double scaleFactor = this.scaleFactor;
double newWidth = inSize.width * scaleFactor;
double newHeight = inSize.height * scaleFactor;
return Size(newWidth, newHeight);
return ui.Size(newWidth, newHeight);
}

Size getLogicalSize(Size inSize) {
ui.Size getLogicalSize(ui.Size inSize) {
double scaleFactor = this.scaleFactor;
double newWidth = inSize.width / scaleFactor;
double newHeight = inSize.height / scaleFactor;
return Size(newWidth, newHeight);
return ui.Size(newWidth, newHeight);
}

@override
Expand All @@ -176,7 +177,7 @@ class GtkWindow extends DesktopWindow {
}

@override
set minSize(Size? newSize) {
set minSize(ui.Size? newSize) {
if (!isValidHandle(handle, "set minSize")) return;

_minSize = newSize;
Expand All @@ -189,7 +190,7 @@ class GtkWindow extends DesktopWindow {
}

@override
set maxSize(Size? newSize) {
set maxSize(ui.Size? newSize) {
if (!isValidHandle(handle, "set maxSize")) return;

_maxSize = newSize;
Expand All @@ -202,7 +203,7 @@ class GtkWindow extends DesktopWindow {
}

@override
set size(Size newSize) {
set size(ui.Size newSize) {
if (!isValidHandle(handle, "set size")) return;

var width = newSize.width;
Expand All @@ -225,7 +226,7 @@ class GtkWindow extends DesktopWindow {
if (newSize.height > _maxSize!.height) height = _maxSize!.height;
}

Size sizeToSet = Size(width, height);
ui.Size sizeToSet = ui.Size(width, height);

// Save cached rect
final double left = _cached.rect != null ? _cached.rect!.left : 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class BitsdojoWindowMacOS extends BitsdojoWindowPlatform {

@override
void doWhenWindowReady(VoidCallback callback) {
WidgetsBinding.instance!.waitUntilFirstFrameRasterized.then((value) {
WidgetsBinding.instance.waitUntilFirstFrameRasterized.then((value) {
setWindowCanBeShown(true);
setInsideDoWhenWindowReady(true);
callback();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class BitsdojoWindowWindows extends BitsdojoWindowPlatform {

@override
void doWhenWindowReady(VoidCallback callback) {
WidgetsBinding.instance!.waitUntilFirstFrameRasterized.then((value) {
WidgetsBinding.instance.waitUntilFirstFrameRasterized.then((value) {
isInsideDoWhenWindowReady = true;
setWindowCanBeShown(true);
callback();
Expand Down
36 changes: 18 additions & 18 deletions bitsdojo_window_windows/lib/src/window.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'dart:ffi';
import 'dart:ui';
import 'dart:ui' as ui;
import 'package:flutter/painting.dart';

import 'package:ffi/ffi.dart';
Expand Down Expand Up @@ -37,11 +37,11 @@ Rect getScreenRectForWindow(int handle) {

class WinWindow extends WinDesktopWindow {
int? handle;
Size? _minSize;
Size? _maxSize;
ui.Size? _minSize;
ui.Size? _maxSize;
// We use this for reporting size inside doWhenWindowReady
// as GetWindowRect might not work reliably before window is shown on screen
Size? _sizeSetFromDart;
ui.Size? _sizeSetFromDart;
Alignment? _alignment;

void setWindowCutOnMaximize(int value) {
Expand All @@ -67,21 +67,21 @@ class WinWindow extends WinDesktopWindow {
newRect.width.toInt(), newRect.height.toInt(), 0);
}

Size get size {
ui.Size get size {
final winRect = this.rect;
final gotSize = getLogicalSize(Size(winRect.width, winRect.height));
final gotSize = getLogicalSize(ui.Size(winRect.width, winRect.height));
return gotSize;
}

Size get sizeOnScreen {
ui.Size get sizeOnScreen {
if (isInsideDoWhenWindowReady == true) {
if (_sizeSetFromDart != null) {
final sizeOnScreen = getSizeOnScreen(_sizeSetFromDart!);
return sizeOnScreen;
}
}
final winRect = this.rect;
return Size(winRect.width, winRect.height);
return ui.Size(winRect.width, winRect.height);
}

double systemMetric(int metric, {int dpiToUse = 0}) {
Expand Down Expand Up @@ -117,27 +117,27 @@ class WinWindow extends WinDesktopWindow {
return result;
}

Size get titleBarButtonSize {
ui.Size get titleBarButtonSize {
double height = this.titleBarHeight - this.borderSize;
double scaleFactor = this.scaleFactor;
double cyCaption = systemMetric(SM_CYCAPTION);
cyCaption /= scaleFactor;
double width = cyCaption * 2;
return Size(width, height);
return ui.Size(width, height);
}

Size getSizeOnScreen(Size inSize) {
ui.Size getSizeOnScreen(ui.Size inSize) {
double scaleFactor = this.scaleFactor;
double newWidth = inSize.width * scaleFactor;
double newHeight = inSize.height * scaleFactor;
return Size(newWidth, newHeight);
return ui.Size(newWidth, newHeight);
}

Size getLogicalSize(Size inSize) {
ui.Size getLogicalSize(ui.Size inSize) {
double scaleFactor = this.scaleFactor;
double newWidth = inSize.width / scaleFactor;
double newHeight = inSize.height / scaleFactor;
return Size(newWidth, newHeight);
return ui.Size(newWidth, newHeight);
}

Alignment? get alignment => _alignment;
Expand All @@ -155,7 +155,7 @@ class WinWindow extends WinDesktopWindow {
}
}

set minSize(Size? newSize) {
set minSize(ui.Size? newSize) {
_minSize = newSize;
if (newSize == null) {
//TODO - add handling for setting minSize to null
Expand All @@ -164,7 +164,7 @@ class WinWindow extends WinDesktopWindow {
native.setMinSize(_minSize!.width.toInt(), _minSize!.height.toInt());
}

set maxSize(Size? newSize) {
set maxSize(ui.Size? newSize) {
_maxSize = newSize;
if (newSize == null) {
//TODO - add handling for setting maxSize to null
Expand All @@ -173,7 +173,7 @@ class WinWindow extends WinDesktopWindow {
native.setMaxSize(_maxSize!.width.toInt(), _maxSize!.height.toInt());
}

set size(Size newSize) {
set size(ui.Size newSize) {
if (!isValidHandle(handle, "set size")) return;

var width = newSize.width;
Expand All @@ -196,7 +196,7 @@ class WinWindow extends WinDesktopWindow {
if (newSize.height > _maxSize!.height) height = _maxSize!.height;
}

Size sizeToSet = Size(width, height);
ui.Size sizeToSet = ui.Size(width, height);
_sizeSetFromDart = sizeToSet;
if (_alignment == null) {
SetWindowPos(handle!, 0, 0, 0, sizeToSet.width.toInt(),
Expand Down

0 comments on commit 5317458

Please sign in to comment.