浏览代码

pr fix

/siyaoH-1.17-PlatformMessage
siyao 4 年前
当前提交
a070fcc1
共有 28 个文件被更改,包括 110 次插入158 次删除
  1. 2
      Samples/UIWidgetsSamples_2019_4/Assets/Script/CountTest.cs
  2. 5
      com.unity.uiwidgets/Editor/UIWidgetsPanelEditor.cs
  3. 8
      com.unity.uiwidgets/Runtime/async2/timer.cs
  4. 21
      com.unity.uiwidgets/Runtime/engine2/UIWidgetsPanel.cs
  5. 8
      com.unity.uiwidgets/Runtime/painting/edge_insets.cs
  6. 45
      com.unity.uiwidgets/Runtime/painting/image_provider.cs
  7. 3
      com.unity.uiwidgets/Runtime/painting/text_painter.cs
  8. 2
      com.unity.uiwidgets/Runtime/rendering/proxy_box.cs
  9. 8
      com.unity.uiwidgets/Runtime/widgets/binding.cs
  10. 3
      com.unity.uiwidgets/Runtime/widgets/framework.cs
  11. 61
      com.unity.uiwidgets/Runtime/widgets/table.cs
  12. 3
      engine/.gitignore
  13. 24
      engine/src/shell/platform/unity/uiwidgets_panel.cc
  14. 4
      engine/src/shell/platform/unity/uiwidgets_panel.h
  15. 40
      Samples/UIWidgetsSamples_2019_4/Assets/Scene/CountTest.unity
  16. 8
      Samples/UIWidgetsSamples_2019_4/Assets/Scene/ImageTest.unity
  17. 8
      Samples/UIWidgetsSamples_2019_4/Assets/Scene.meta
  18. 8
      Samples/UIWidgetsSamples_2019_4/Assets/Script.meta
  19. 7
      Samples/UIWidgetsSamples_2019_4/Assets/StreamingAssets/confetti.json.meta
  20. 0
      /Samples/UIWidgetsSamples_2019_4/Assets/Script/CountTest.cs.meta
  21. 0
      /Samples/UIWidgetsSamples_2019_4/Assets/Script/CountTest.cs
  22. 0
      /Samples/UIWidgetsSamples_2019_4/Assets/Scene/TextTest.unity.meta
  23. 0
      /Samples/UIWidgetsSamples_2019_4/Assets/Scene/CountTest.unity
  24. 0
      /Samples/UIWidgetsSamples_2019_4/Assets/Scene/CountTest.unity.meta
  25. 0
      /Samples/UIWidgetsSamples_2019_4/Assets/Scene/ImageTest.unity
  26. 0
      /Samples/UIWidgetsSamples_2019_4/Assets/Scene/ImageTest.unity.meta
  27. 0
      /Samples/UIWidgetsSamples_2019_4/Assets/Scene/TextTest.unity

2
Samples/UIWidgetsSamples_2019_4/Assets/Script/CountTest.cs


namespace UIWidgetsSample
{
public class UIWidgetsExample : UIWidgetsPanel
public class CountTest : UIWidgetsPanel
{
protected void OnEnable()
{

5
com.unity.uiwidgets/Editor/UIWidgetsPanelEditor.cs


EditorGUILayout.PropertyField(pixelRatioProperty);
EditorGUILayout.PropertyField(antiAliasingProperty);
UIWidgetsPanel panel = (UIWidgetsPanel)target;
if (GUILayout.Button("Take Screenshot")) {
panel.TakeScreenshot();
}
serializedObject.ApplyModifiedProperties();
}
}

8
com.unity.uiwidgets/Runtime/async2/timer.cs


_wakeupTime = UIMonoState_timerMillisecondClock();
}
}
static long _millisecondToNanosecond(long millisecond) {
return millisecond * 1000000L;
}
static long MILLI_TO_NANO = 1000000L;
UIMonoState_postTaskForTime(_postTaskForTime, (IntPtr) callabackHandle, _millisecondToNanosecond(_wakeupTime));
UIMonoState_postTaskForTime(_postTaskForTime, (IntPtr) callabackHandle, _wakeupTime * MILLI_TO_NANO);
}
[MonoPInvokeCallback(typeof(UIMonoState_postTaskForTimeCallback))]

21
com.unity.uiwidgets/Runtime/engine2/UIWidgetsPanel.cs


namespace Unity.UIWidgets.engine2 {
public partial class UIWidgetsPanel : RawImage {
[Serializable]
public struct TextFont {
public string family;
[SerializeField] public Font[] fonts;
}
[Serializable]
}
[Serializable]
public struct TextFont {
public string family;
[SerializeField] public Font[] fonts;
}
public TextFont[] fonts;

_isEntered = false;
UIWidgetsPanel_onMouseLeave(_ptr);
}
public void TakeScreenshot() {
UIWidgetsPanel_takeScreenShot(_ptr);
}
public void OnDrag(PointerEventData eventData) {
var pos = _getPointerPosition(Input.mousePosition);
if (pos == null) {

[DllImport(NativeBindings.dllName)]
static extern void UIWidgetsPanel_onMouseLeave(IntPtr ptr);
[DllImport(NativeBindings.dllName)]
static extern void UIWidgetsPanel_takeScreenShot(IntPtr ptr);
}
}

8
com.unity.uiwidgets/Runtime/painting/edge_insets.cs


public EdgeInsets clamp(EdgeInsets min, EdgeInsets max) {
return fromLTRB(
left.clamp(min.left, min.left),
top.clamp(min.top, min.top),
right.clamp(min.right, min.right),
bottom.clamp(min.bottom, min.bottom)
left.clamp(min.left, max.left),
top.clamp(min.top, max.top),
right.clamp(min.right, max.right),
bottom.clamp(min.bottom, max.bottom)
);
}

45
com.unity.uiwidgets/Runtime/painting/image_provider.cs


using Image = Unity.UIWidgets.ui.Image;
using Locale = Unity.UIWidgets.ui.Locale;
using Object = UnityEngine.Object;
using Path = System.IO.Path;
using TextDirection = Unity.UIWidgets.ui.TextDirection;
using Window = Unity.UIWidgets.ui.Window;

resolveStreamForKey(configuration, stream, successKey, (Exception e) => errorHandler(e));
},
(T key, Exception exception) => {
// await null; // wait an event turn in case a listener has been added to the image stream.
_ErrorImageCompleter imageCompleter = new _ErrorImageCompleter();
stream.setCompleter(imageCompleter);
InformationCollector collector = null;
D.assert(() => {
collector = (sb) => {
sb.Append(new DiagnosticsProperty<ImageProvider>("Image provider", this));
sb.Append(new DiagnosticsProperty<ImageConfiguration>("Image configuration",
configuration));
sb.Append(new DiagnosticsProperty<T>("Image key", key, defaultValue: null));
};
return true;
Timer.run(() => {
_ErrorImageCompleter imageCompleter = new _ErrorImageCompleter();
stream.setCompleter(imageCompleter);
InformationCollector collector = null;
D.assert(() => {
collector = (sb) => {
sb.Append(new DiagnosticsProperty<ImageProvider>("Image provider", this));
sb.Append(new DiagnosticsProperty<ImageConfiguration>("Image configuration",
configuration));
sb.Append(new DiagnosticsProperty<T>("Image key", key, defaultValue: null));
};
return true;
});
imageCompleter.setError(
exception: exception,
stack: exception.StackTrace,
context: new ErrorDescription("while resolving an image"),
silent: true, // could be a network error or whatnot
informationCollector: collector
);
return null;
imageCompleter.setError(
exception: exception,
stack: exception.StackTrace,
context: new ErrorDescription("while resolving an image"),
silent: true, // could be a network error or whatnot
informationCollector: collector
);
return Future.value();
return null;
}
);

}
Future<Codec> _loadAsync(FileImage key, DecoderCallback decode) {
byte[] bytes = File.ReadAllBytes("Assets/StreamingAssets/" + key.file);
byte[] bytes = File.ReadAllBytes(Path.Combine(Application.streamingAssetsPath, key.file));
if (bytes != null && bytes.Length > 0 ) {
return decode(bytes);
}

3
com.unity.uiwidgets/Runtime/painting/text_painter.cs


using System.Collections.Generic;
using System.Linq;
using Unity.UIWidgets.foundation;
using Unity.UIWidgets.service;
using Unity.UIWidgets.ui;

}
void setPlaceholderDimensions(List<PlaceholderDimensions> value) {
if (value == null || value.isEmpty() || value.SequenceEqual(_placeholderDimensions)) {
if (value == null || value.isEmpty() || value.equalsList(_placeholderDimensions)) {
return;
}

2
com.unity.uiwidgets/Runtime/rendering/proxy_box.cs


public void rotateX(float degrees) {
_transform.rotateX(degrees);
markNeedsPaint();
//2D, do nothing
//2D, do nothing
}
public void rotateZ(float degrees) {

8
com.unity.uiwidgets/Runtime/widgets/binding.cs


base.initInstances();
instance = this;
// D.assert(() => {
// _debugAddStackFilters();
// return true;
// }());
D.assert(() => {
// _debugAddStackFilters();
return true;
});
_buildOwner = new BuildOwner();
buildOwner.onBuildScheduled = _handleBuildScheduled;

3
com.unity.uiwidgets/Runtime/widgets/framework.cs


static Widget _defaultErrorWidgetBuilder(UIWidgetsErrorDetails details) {
string message = "";
D.assert(() => {
message = _stringify(details.exception) + "\nSee also: https://flutter.dev/docs/testing/errors";
message = _stringify(details.exception);
return true;
});
object exception = details.exception;

readonly UIWidgetsError _uiWidgetsError;
public override RenderObject createRenderObject(BuildContext context) {
// return null;
return new RenderErrorBox(message);
}

61
com.unity.uiwidgets/Runtime/widgets/table.cs


}
}
class TableCell : ParentDataWidget<TableCellParentData> {
public TableCell(
Widget child,
Key key = null,
TableCellVerticalAlignment verticalAlignment = TableCellVerticalAlignment.baseline
) : base(key: key, child: child) {
this.verticalAlignment = verticalAlignment;
}
// public class TableCell : ParentDataWidget<Table> {
// public TableCell(
// Key key = null,
// TableCellVerticalAlignment? verticalAlignment = null,
// Widget child = null
// ) : base(key: key, child: child) {
// this.verticalAlignment = verticalAlignment;
// }
//
// public readonly TableCellVerticalAlignment? verticalAlignment;
//
// public override void applyParentData(RenderObject renderObject) {
// TableCellParentData parentData = (TableCellParentData) renderObject.parentData;
// if (parentData.verticalAlignment != verticalAlignment) {
// parentData.verticalAlignment = verticalAlignment;
//
// AbstractNodeMixinDiagnosticableTree targetParent = renderObject.parent;
// if (targetParent is RenderObject) {
// ((RenderObject) targetParent).markNeedsLayout();
// }
// }
// }
//
// public override Type debugTypicalAncestorWidgetClass { get => typeof(Table); }
//
// public override void debugFillProperties(DiagnosticPropertiesBuilder properties) {
// base.debugFillProperties(properties);
// properties.add(new EnumProperty<TableCellVerticalAlignment?>("verticalAlignment", verticalAlignment));
// }
// }
public readonly TableCellVerticalAlignment verticalAlignment;
public override void applyParentData(RenderObject renderObject) {
TableCellParentData parentData = renderObject.parentData as TableCellParentData;
if (parentData.verticalAlignment != verticalAlignment) {
parentData.verticalAlignment = verticalAlignment;
AbstractNodeMixinDiagnosticableTree targetParent = renderObject.parent;
if (targetParent is RenderObject targetParentRenderObject) {
targetParentRenderObject.markNeedsLayout();
}
}
}
public override Type debugTypicalAncestorWidgetClass {
get => typeof(Table);
}
public override void debugFillProperties(DiagnosticPropertiesBuilder properties) {
base.debugFillProperties(properties);
properties.add(new EnumProperty<TableCellVerticalAlignment>("verticalAlignment", verticalAlignment));
}
}
}

3
engine/.gitignore


artifacts
build
obj
*.gen.*
*.gen.*
third_party/skia

24
engine/src/shell/platform/unity/uiwidgets_panel.cc


}
}
void UIWidgetsPanel::TakeScreenShot() {
if (process_events_) {
auto* engine = reinterpret_cast<EmbedderEngine*>(engine_);
Rasterizer::Screenshot screenshot = engine->GetShell().Screenshot(
Rasterizer::ScreenshotType::SkiaPicture, true);
const char* screenshot_char =
static_cast<const char*>(screenshot.data->data());
int size = screenshot.data->size();
SkBase64 temp;
temp.decode(screenshot_char, screenshot.data->size());
char* decoded = temp.getData();
std::ofstream myfile;
myfile.open("example.txt");
myfile.write(decoded, temp.getDataSize());
myfile.close();
}
}
UIWIDGETS_API(UIWidgetsPanel*)
UIWidgetsPanel_constructor(
Mono_Handle handle,

UIWIDGETS_API(void)
UIWidgetsPanel_onMouseLeave(UIWidgetsPanel* panel) { panel->OnMouseLeave(); }
UIWIDGETS_API(void)
UIWidgetsPanel_takeScreenShot(UIWidgetsPanel* panel) {
panel->TakeScreenShot();
}
} // namespace uiwidgets

4
engine/src/shell/platform/unity/uiwidgets_panel.h


~UIWidgetsPanel();
void OnEnable(void* native_texture_ptr, size_t width, size_t height,
float device_pixel_ratio, const char* streaming_assets_path, const char* settings);
float device_pixel_ratio, const char* streaming_assets_path,
const char* settings);
void MonoEntrypoint();

void OnMouseLeave();
void TakeScreenShot();
private:
UIWidgetsPanel(Mono_Handle handle, EntrypointCallback entrypoint_callback);

40
Samples/UIWidgetsSamples_2019_4/Assets/Scene/CountTest.unity


m_Component:
- component: {fileID: 847097469}
- component: {fileID: 847097471}
- component: {fileID: 847097472}
- component: {fileID: 847097470}
m_Layer: 5
m_Name: RawImage
m_TagString: Untagged

m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &847097471
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 847097468}
m_CullTransparentMesh: 0
--- !u!114 &847097472
--- !u!114 &847097470
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}

y: 0
width: 1
height: 1
fonts:
- family: racher
fonts:
- asset: Ranchers-Regular.ttf
weight: 0
- family: roboto
fonts:
- asset: Roboto-Italic.ttf
weight: 0
- asset: Roboto-BlackItalic.ttf
weight: 900
- family: CupertinoIcons
fonts:
- asset: CupertinoIcons.ttf
weight: 0
- family: robotox
fonts:
- asset: Roboto-Italic.ttf
weight: 0
fonts: []
--- !u!222 &847097471
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 847097468}
m_CullTransparentMesh: 0
--- !u!1 &1548023132
GameObject:
m_ObjectHideFlags: 0

8
Samples/UIWidgetsSamples_2019_4/Assets/Scene/ImageTest.unity


m_GameObject: {fileID: 847097468}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b7e1083a82b756840b36958a76a3e6f3, type: 3}
m_Script: {fileID: 11500000, guid: f34989adbb4345fda4362c56f72ae791, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}

y: 0
width: 1
height: 1
fonts:
- family: CupertinoIcons
fonts:
- asset: CupertinoIcons.ttf
weight: 0
fonts: []
devicePixelRatioOverride: 0
hardwareAntiAliasing: 0
--- !u!222 &847097471

8
Samples/UIWidgetsSamples_2019_4/Assets/Scene.meta


fileFormatVersion: 2
guid: e18dd30e208165141b608bdabb7d8599
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
Samples/UIWidgetsSamples_2019_4/Assets/Script.meta


fileFormatVersion: 2
guid: db95daae641c0db4caacccc865af16c8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

7
Samples/UIWidgetsSamples_2019_4/Assets/StreamingAssets/confetti.json.meta


fileFormatVersion: 2
guid: ac26747b511ae1e42b7ee598ca4fc76d
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

/Samples/UIWidgetsSamples_2019_4/Assets/Script/UIWidgetsExample.cs.meta → /Samples/UIWidgetsSamples_2019_4/Assets/Script/CountTest.cs.meta

/Samples/UIWidgetsSamples_2019_4/Assets/Script/UIWidgetsExample.cs → /Samples/UIWidgetsSamples_2019_4/Assets/Script/CountTest.cs

/Samples/UIWidgetsSamples_2019_4/Assets/TextTest.unity.meta → /Samples/UIWidgetsSamples_2019_4/Assets/Scene/TextTest.unity.meta

/Samples/UIWidgetsSamples_2019_4/Assets/CountTest.unity → /Samples/UIWidgetsSamples_2019_4/Assets/Scene/CountTest.unity

/Samples/UIWidgetsSamples_2019_4/Assets/CountTest.unity.meta → /Samples/UIWidgetsSamples_2019_4/Assets/Scene/CountTest.unity.meta

/Samples/UIWidgetsSamples_2019_4/Assets/ImageTest.unity → /Samples/UIWidgetsSamples_2019_4/Assets/Scene/ImageTest.unity

/Samples/UIWidgetsSamples_2019_4/Assets/ImageTest.unity.meta → /Samples/UIWidgetsSamples_2019_4/Assets/Scene/ImageTest.unity.meta

/Samples/UIWidgetsSamples_2019_4/Assets/TextTest.unity → /Samples/UIWidgetsSamples_2019_4/Assets/Scene/TextTest.unity

正在加载...
取消
保存