* Refactor video player`isMacOS` function
* Refactor video player `mediaPayer` extension function
* Re-implement the experimental video player
* Use icons instead of labels and buttons for video player controls
* Center video player controls
* Add a TODO to video player to make the slider logarithmic
* Add `rememberVideoPlayerState` function for video player
To simplify state management for the client
* Extend a comment with more info
* Improve a KDoc
* Specify video player minimum size for the window
* Use `VideoPlayerState` instead of explicit parameters for video player
* Reorder a statement in video player
* Use the implicit `it` instead of named lambda parameter
* Use `roundToInt` instead of `toInt` for converting a `Float` to percentage
* Update some documentation
* Remove a redundant trailing comma
* Add more comments about video player fullscreen option
* Add some functions to VideoPlayerState
And use them in the code
* Add `ms` unit label to video player timestamp
* Remove a redundant import statement
* Simplify video player `produceProgress` function
* Extract video player URL as a constant
And add some docs about local files
* Add some comments
About placing controls on the video player which is NOT currently possible.
* Add video player minor code improvements
* Ensure video player volume icon and slider are aligned
* Make video player control icons smaller
* Add some comments for video player Progress class
* Improve video player speed input
* Extract a remember function call to an outer function
* Convert a lambda to method reference
* Update the video player component
* Convert video player progress from return value to state property
* Add a compose html paragraph
* Update README.md
* Update README.md
* Update README.md
* tuned Compose HTML description and moved above "Learn more". Waiting for proofread.
* minor edits after proofreading
* fixed a typo
---------
Co-authored-by: Ekaterina.Volodko <ekaterina.volodko@jetbrains.com>
* Fix signing bundle with Gradle 8.1 with configuration cache
Compose Gradle plugin was launching
`/usr/bin/security --find-identity` in a lazy property of
AbstractJPackageTask. Without the configuration cache
the computation was delayed to the execution phase.
However, configuration cache serializes all properties of
all configured tasks, so launching of `/usr/bin/security`
shifted to the configuration phase.
Gradle 8.1 started to throw an exception if an external process is
launched during configuration time.
This change explicitly moves the call to
`/usr/bin/security` to the execution phase.
Resolves#3060
* Turn off Gradle configuration cache for one test
* Improve a message about incompatible kotlin version
Add Compose Multiplatform to the message
* Update gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposeCompilerCompatibility.kt
Co-authored-by: Igor Demin <igordmn@users.noreply.github.com>
---------
Co-authored-by: Igor Demin <igordmn@users.noreply.github.com>
In 991b7ff6a7 'nativeExecutables' was
renamed to 'nativeDistributions', however a later commit added error
messages that still reference the old DSL names.
Previously Compose Multiplatform Gradle plugin required
JDK 15+ for distribution packaging. However, fixing #2867 required
always passing --mac-entitlements to jpackage, which is
only available with JDK 17+.
1. Rename "compose.web" to "compose.html" in Gradle DSL
2. Rename maven artifacts (with backward compatible "relocation" artifact)
3. Rename "web" folder to "html"
Will do in support/1.4.0 branch
1. Move examples/web-* to examples/html/*
2. Rename Tutorials/Web to Tutorials/HTML
3. Rename "Compose for Web" to "Compose HTML Library" in the tutorials
- add zoom field, which is the same across different screen/window sizes
- scale is not the base state now, it is derived from the current zoom and the current screen/window size. it now represents the end scale of the image
- drag amount is still independent of scale/zoom (if we drag by 5 pixels, the image moves by 5 pixels)
- offset is still limited by the area and the current scale
* ImageViewer - limit zoom by the window/screen size
- add zoom field, which is the same across different screen/window sizes
- scale is not the base state now, it is derived from the current zoom and the current screen/window size. it now represents the end scale of the image
- drag amount is still independent of scale/zoom (if we drag by 5 pixels, the image moves by 5 pixels)
- offset is still limited by the area and the current scale