Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

[Impeller] Implement TextDecoration (i.e. dashed lines) #45041

Merged
merged 21 commits into from
Aug 27, 2023

Conversation

matanlurey
Copy link
Contributor

@matanlurey matanlurey commented Aug 24, 2023

Closes flutter/flutter#126673.

Ideally, this would be an #ifdef, but currently Impeller is a runtime flag, for reasons (CI capacity?)

To be able to write tests, I'd need flutter/flutter#133264 completed. Edit:

life-uh

Before

Screenshot 2023-08-23 at 5 25 40 PM

After

Screenshot 2023-08-24 at 9 56 48 AM

@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

Copy link
Member

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with nits, and caveat that this isn't a naive implementation its just... the only reasonable way to draw a dashed line with the impeller backend.

@matanlurey matanlurey changed the title [Impeller] Naively implement TextDecoration (i.e. dashed lines) [Impeller] Implement TextDecoration (i.e. dashed lines) Aug 24, 2023
@chinmaygarde
Copy link
Member

@jonahwilliams Looks good for another review.

@jonahwilliams
Copy link
Member

We're working on finding a way to test this on CI.

@matanlurey
Copy link
Contributor Author

Ready again for review, thanks @jonahwilliams and @jason-simmons!

@matanlurey
Copy link
Contributor Author

matanlurey commented Aug 25, 2023

It looks like I'm using a library (dl_op_spy.h) that I shouldn't be using in this test (or it should be moved into its own source set), which in turn is causing various failures:

ld64.lld: error: undefined symbol: Dart_TimelineGetMicros
>>> referenced by animator.cc:126 (../../flutter/shell/common/animator.cc:126)
>>>               obj/flutter/shell/common/common.animator.o:(symbol flutter::Animator::BeginFrame(std::_LIBCPP_ABI_NAMESPACE::unique_ptr<flutter::FrameTimingsRecorder, std::_LIBCPP_ABI_NAMESPACE::default_delete<flutter::FrameTimingsRecorder>>)::$_0::operator()() const+0x38)
>>> referenced by dart_vm.cc:474 (../../flutter/runtime/dart_vm.cc:474)
>>>               obj/flutter/runtime/runtime.dart_vm.o:(symbol flutter::DartVM::DartVM(std::_LIBCPP_ABI_NAMESPACE::shared_ptr<flutter::DartVMData const> const&, std::_LIBCPP_ABI_NAMESPACE::shared_ptr<flutter::IsolateNameServer>)+0x9f8)
>>> referenced by dart_vm_initializer.cc:101 (../../flutter/runtime/dart_vm_initializer.cc:101)
>>>               obj/flutter/runtime/runtime.dart_vm_initializer.o:(symbol DartVMInitializer::Initialize(Dart_InitializeParams*, bool, bool)+0x1bc)
>>> referenced 2 more times

Copy link
Member

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@matanlurey matanlurey merged commit 43e9683 into flutter:main Aug 27, 2023
@matanlurey matanlurey deleted the impeller-naive-text-decoration branch August 27, 2023 21:24
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 27, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 27, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 27, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Aug 27, 2023
…133419)

flutter/engine@fc59272...0593c04

2023-08-27 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from N-A8agqDgvTKiT2Wc... to jnDJLdEAx34diOWFx... (flutter/engine#45159)
2023-08-27 jonahwilliams@google.com [Impeller] SuboptimalKHR is not an exit condition. (flutter/engine#45157)
2023-08-27 matanlurey@users.noreply.github.com Use YAML >- to avoid strange formatting. (flutter/engine#45158)
2023-08-27 matanlurey@users.noreply.github.com [Impeller] Implement TextDecoration (i.e. dashed lines) (flutter/engine#45041)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from N-A8agqDgvTK to jnDJLdEAx34d

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jimgraham@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
gaaclarke pushed a commit to gaaclarke/engine that referenced this pull request Aug 30, 2023
Closes flutter/flutter#126673.

Ideally, this would be an `#ifdef`, but currently Impeller is a runtime
flag, for reasons (CI capacity?)

~~To be able to write tests, I'd need
flutter/flutter#133264 completed.~~ Edit:


![life-uh](https://github.com/flutter/engine/assets/168174/c77314e4-f3f9-4b0d-b3f7-5b070ef51308)

## Before

![Screenshot 2023-08-23 at 5 25 40
PM](https://github.com/flutter/engine/assets/168174/40576807-17f2-4f5f-ba56-3cd5771e472d)

## After

<img width="795" alt="Screenshot 2023-08-24 at 9 56 48 AM"
src="https://github.com/flutter/engine/assets/168174/0e33f705-6a71-4468-8ec8-372a2e98624e">
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
No open projects
Archived in project
Development

Successfully merging this pull request may close these issues.

[Impeller] TextDecoration dashed and dotted are rendering as solid.
3 participants