New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues #888 and #889 The filling and stroking issues related to the HTML5 target #890

Closed
wants to merge 3 commits into
base: develop
from

Conversation

Projects
None yet
3 participants
@ngrebenshikov
Contributor

ngrebenshikov commented Oct 20, 2015

No description provided.

@ngrebenshikov ngrebenshikov changed the title from Issue #888 "The filling of complex shapes is wrong" is fixed for HTML5 target to Issues #888 and #889 The filling and stroking issues related to the HTML5 target Oct 20, 2015

@ibilon

This comment has been minimized.

Show comment
Hide comment
@ibilon

ibilon Apr 24, 2016

Member

This is targeting the master branch,
if this still fix issues in the latest version please open a new pull request against the develop branch.

Member

ibilon commented Apr 24, 2016

This is targeting the master branch,
if this still fix issues in the latest version please open a new pull request against the develop branch.

@ibilon ibilon closed this Apr 24, 2016

loudoweb added a commit to loudoweb/openfl that referenced this pull request Sep 12, 2016

@ibilon ibilon changed the base branch from master to develop Sep 16, 2016

@ibilon ibilon reopened this Sep 16, 2016

@jgranick jgranick removed the in progress label Jan 4, 2017

@jgranick jgranick closed this in a918f38 Jun 17, 2017

@jgranick

This comment has been minimized.

Show comment
Hide comment
@jgranick

jgranick Jun 17, 2017

Member

Thank you again for your help! I hesitated to include this change because Flash Player really uses both even/odd and non-zero winding in the SWF specification, and I figured that using even/odd in this case would probably fix certain examples, but break others. I'm embarrassed to realize that we are using even/odd in our Cairo renderer. In your sample, the latest OpenFL works properly except for the rings (the other shapes are fine), only on HTML5, since Cairo used a different winding order. Oops.

This should now be resolved 😊

Member

jgranick commented Jun 17, 2017

Thank you again for your help! I hesitated to include this change because Flash Player really uses both even/odd and non-zero winding in the SWF specification, and I figured that using even/odd in this case would probably fix certain examples, but break others. I'm embarrassed to realize that we are using even/odd in our Cairo renderer. In your sample, the latest OpenFL works properly except for the rings (the other shapes are fine), only on HTML5, since Cairo used a different winding order. Oops.

This should now be resolved 😊

MSGhero added a commit to MSGhero/openfl that referenced this pull request Aug 9, 2017

Update to latest (#1)
* Split into before/render/after events for native render

* Add missing 'alwaysOnTop' property

* Remove prospective native render API

* Remove deprecated notice

* Position fixes

* Use ObjectPool instead of single __temp object

* Additional work on cacheAsBitmap logic

* Matrix fix

* CacheAsBitmap fixes

* ColorTransform, fixes to cacheAsBitmap logic

* Tilemap pool fix

* Step toward idle render optimization

* Allow Lime 5.0.x

* Allow Lime 5.0.x

* Update CI script

* Merge multiple draw commands into single GraphicsPath object on readGraphicsData

* Fix empty lineStyle in drawGraphicsData

* Minor fix

* Fix strange issue

* Fix openfl.media.Video build (fix #1567)

* Use wildcard version for Lime dependency

* Initial support for render-only-when-dirty behavior

* Improve smoothing behavior in cacheAsBitmap

* Set window dirty on focus

* Fix bitmap cache filters

* Fix renderDirty behavior for window resize or Video

* Improve Bitmap renderDirty behavior, disable sparse rendering until dirty has been tested more

* Update CHANGELOG

* Update to 5.1.0

* Update CHANGELOG.md

* Fix internal object pool

* Fix compile issue on Flash target for code completion

* Validate path for generate class templates

* Update to 5.1.1

* Update CHANGELOG

* Add additional dirty flags

* Remove deprecated notice

* Revert wildcard versioning until it has more testing

* Update to 5.1.2

* Update CHANGELOG

* Cleanup XML

* Improve -Dopenfl-disable-graphics-upscaling performance

* bug fix for TextField font size when using DOM renderer

* detach netStream fix

* Update Video.hx

* Fix integration with resource preloader.

Fixes integration with resource preloader. 

Without matching resource loader code by setting bitmap.__image.crossOrigin in renderImage to "Anonymous" that image gonna be always fetched and not taken from cache.

* force roundPixels = true for TextFields in -Ddom

Chrome shows blurry text if matrix3d coordinates are fractional. However having
always roundPixels = true is also problematic as it creates "shaky" rotation for
Bitmaps. So we use false everywhere and true only for TextFields.

See: openfl#1570

* htmlText parser refactor

* DOM Stage3D fix

* Support older Adobe Texture Format version 2

There are 3 different versions of the ATF format. Only version 3 supports the ETC2 format.

* Fix cached transforms when getting local bounds (resolve #1582)

* Optimization for less recurring memory use

* Fix typos in Shader class

* Compile fix

* Add conversion from ByteArray to BytePointer (fixes #1426)

* Patch SimpleButton support

* Use UTF8String for better UTF8 support (resolve #1565)

* Try and fix Haxe dev builds

* Add commented code for canvas-based BitmapData rather than pixel array

* Docs fix

* Improve cacheAsBitmap on DOM target (resolve #1593)

* Update Video.hx

* HTML5 BitmapData fix

* Make XMLSocket use Socket internally on all platforms, improvements

* Update for Lime 5.1

* Update CHANGELOG

* Update to 5.1.3

* socket connected should be false after socket close

*  update inputBuffer position before writing new data to it

* Ensure Loader.content and LoaderInfo.content are both set

* Add error when trying to add null child

* Register loaded asset library using contentLoaderInfo.url (resolve #1600)

* Fix opaqueBackground for Tilemap

* Flash fails silently on all errors from ExternalInterface.call(),
including function not defined.
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html#call()

However, now that we're in JS target, there is no concept of
inside/outside of vm. Therefore, it makes sense to forward any
exceptions thrown by the external functions. So we'll allow that,
but we'll continue to ignore any errors about missing functions,
since some [translated] code [likely] relies on that behavior still.

* js.Lib.eval(functionName) errors if functionName does not exist

* logic was exact opposite of intention

* Deprecate handler callbacks in openfl.utils.Assets

* More robust fix for SimpleButton using render transform

* Improve text rendering from SWF assets (should we use embedded SWF fonts, instead of real fonts?

* Use even/odd winding rule in canvas shape renderer (similar to Cairo code) (close #890, resolve #888)

* Improve line miter (resolve #909)

* Update AGALConverter for rcp command (close #1613)

* Dispatch HTTPStatusEvent in URLLoader (resolve #1614)

* Null fix on Capabilities.screenDPI

* Update Lime version to 5.2.0

* Update to 5.1.4

* Update CHANGELOG

* CHANGELOG typo

* Compile fix

* Fix loader.unload() behavior, AS3 docs were wrong

* Update to 5.1.5

* Update CHANGELOG

* Fix use of upState as hitTestState on SimpleButton, and null downState

* Workaround for Emscripten color order

* Remove debug messages

* Exclude some types from JS -Dmodular build

* fix for ascent/descent change in TextEngine

* fixes SimpleButton over/down state DOM render

* Sorting of the eventlisteners with same priority doesn't preserve the order they are added

* Method name typo fixed

* isCopy of an iterator is never reset. Not even when original list is set. This causes an issue when an iterator already have a copy and listener is added while the iterator is active

* Fix rendering bug in Chrome 59

* Making other touch events work

* make bitmapdata draw work with filters when readable is false

* Add initial SpriteSymbol frame script support (resolve #1599)

* Add base class support in SpriteSymbol (close #1602)

* Allow inexact font match from SWF (close #1604)

* Initial hscript support in framescript code

* Rename internal 'clearDirtyFlags' to 'clearRenderDirty' for clarity (resolve #1622)

* Add .vscode settings

* Change docs from HTML5 tags to Markdown formatting

* Set secure WebSocket if page is served with HTTPS

* Do not reference unused swf.instance classes, fix build error

* Frame object list fix

* Add missing FrameObjectType

* Update core MovieClip logic based on #1607 (resolve #1607)

* support shared fonts

* When loading remote asset manifest, register under name as well (close #1631)

* Readme: remove mention of the SWF lib

Just a dead link now (SWF lib was merged into OpenFL in 4.5.0).

* Disable cacheAsBitmap behavior on Tilemap for now

* Minor run script fix

* Update run.n

* Framescripts are now stored in frameData.

* Add (Beta) openfl.display.TileArray API for dynamic Tilemap rendering

* Add support for custom rect in TileArray, minor fix

* Make Tilemap use TileArray internally for all rendering

* Caret wasn't visible without text on Cairo.

* Add @:beta meta tag to beta APIs

* Add @:replacement-planned meta tag for types pending replacement by a new API in the future

* Initial (beta) support for single-pass shaders on Bitmap, TextField, Video, Tilemap

* Add missing file

* Add support for per-Tile shaders

* Support OpenGL ColorTransform in base shader

* Fixes, support OpenGL ColorTransform

* Meta fix

* Minor fix

* Flash compile fix

* Fix crash on unit test

* Add caching to Tile shader/colorTransform when updating TileArray

* Tidy up Tilemap

* Minor fix

* UV fix

* Fix for Flash Tilemap, minor optimization if tileArray has 0 length

* Don't seem to need to disable attrib array

* Begin work on TileArray dirty flags

* sounds now exporting to disk in .mp3 format. .wav files not tested.

* translate AVM2 ActionScript3 Byte Code (ABC) to JavaScript;
only the frame scripts, and only the easy stuff.

* fixed granicks baseclass impl typo

* what i thought was .wav is actually .adpcm; not related

* everything must be mp3 for browser manifest

* Minor fix

* Minor fix

* parsing improvements

* add "this" keyword for call property void, change namespace separator to "_"

* fix setproperty MultinameL
parse "./assets/avatar/avatarEffect.swf"

* translate AVM2 ActionScript3 Byte Code (ABC) to JavaScript;
only the frame scripts, and only the easy stuff.

* minor whitespace fix

* need to use scriptSource:String instead of script:Function on Frame
object

* trace out all symbolClass names

* Switch debug traces to verbose for now

* Crash fix

* Disable filters and GlowFilter hack

* Fix null reference

* Improve support for blend modes

* Canvas blendMode fix

* Add blendMode, visible, cacheAsBitmap export support for SWF assets

* Minor fixes

* Stage3D viewport fix

* Add missing CanvasBlendModeManager on bitmapData.draw

* DOMRenderer to GLRenderer casting error

* Try skipping cacheAsBitmap if final result is less than one pixel

* Fix regression in ByteArray functionality

* Revert "Stage3D viewport fix"

This reverts commit 94be97c.

* Include Stage3D x/y in scissor rectangle calculation

* Documentation fix

* Docs fix

* Flash compile fix

* Compile fix in Video for colorTransform

* DOMRenderer to GLRenderer casting error

* CachAsBitmap issues fixed

* Improvements for cacheAsBitmap, some cleanup

* Add CircleCI script

Update CI script

Update CI script

Update CI script

Update CI script

Update CI script

Update CI script

Update CI script

Update CI script

Update CI script

Update CI script

Update CI script

Update CI script

Update CI script

Update CI script

Update CI script

* Update Docker image

* Update CI script

Update image version

Update CI script

* Add 3.2 Docker CI image

* Update README

* Bitmapdata drawing on HDPI displays fixed

* Minor fix

* Update CI script
g

* Update CI script

* Update CI script

* Update CI script

* Update CI script

* Update CI script

* Update CI script

* Update CI script

* Update CI script

* Update CI script

* Remove TravisCI script

* Initial one-pass software filter support

* Default ByteArray to the system endianness

* Allow conversion between openfl.utils.Endian and lime.system.Endian

* Update unit test

* Update to 6.0.0

* Set default endianness if 'openfl-big-endian' is not defined

* Remove deprecated handler callbacks in openfl.utils.Assets

* bufferAlpha fix

* Enable frame-skipping unless 'openfl-always-render' is defined

* Fix render dirty for tilemap

* Fix render dirty on OpenGLView

* Update test scripts

* Flash build fix

* Update externs for Tilemap, add Assets externs

* Remove deprecatted typedefs

* Docs update

* The text field stops to work when you write an accent or dieresis in a vocal letter.

* Code style.

* Use flatter output directory names by default

* Change SWFLite data suffix to '.bin' to play nicer with standard server configurations (close #1644)

* Flash compile fix

* Filter update

* Update CHANGELOG

* Update release notes

* Remove unused tests

* Update for Lime 5.3

* Compile fix

* Update README

* fixes bug: Invalid field length

* Update Docker test image

* Restore temporary TextField outline/glow hack

* Fix NetStatus status in NetConnection success

* Remove debug message

* Fix tile skipping (close #1654)

* Fix Tilemap drawArrays count (close openfl/openfl-samples#49)

* Fix renderDirty behavior for bitmap with changing bitmapData

* Update CHANGELOG

* Update to 6.0.1

* Fix IDE link

* Fix TileArray artifacts (close #1655)

* Fix Tilemap.removeTile

* Fix numTiles calculation

* fixes multiple spaces bug

* Input textfield fixes

* Force update on cachedBitmap when contents of the textfield change or get selected

* Set stage reference of MovieClip child object on creation (fix #1652)

* Added more options for openfl cursors

`WAIT_ARROW` doesn't seem to appear any different on Windows 10 vs `WAIT` but I'm not sure if this would appear any different on other platforms

* Added enum's to MouseCursor

WAIT_ARROW may be platform dependant

* Allow auto-conversion of Lime MouseCursor to OpenFL MouseCursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment