Browse Source

Update CHANGELOG.md

pull/1922/head
Igor Demin 3 years ago committed by GitHub
parent
commit
1aa7d122e5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 42
      CHANGELOG.md
  2. 10
      tutorials/Mouse_Events/README.md

42
CHANGELOG.md

@ -1,3 +1,45 @@
# 1.1.0 (Feb 2022)
## Desktop
### Features
- [Implement experimental accessebility support for Windows](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Accessibility)
- [Implement accessebility focus tracking by Tab](https://github.com/JetBrains/compose-jb/issues/1772)
- All bugfixes/features between Jetpack Compose 1.1.0-beta02 and 1.1.0 (see the release notes for each module [here](https://developer.android.com/jetpack/androidx/releases/compose))
- Android target depends on Jetpack Compose 1.1.0.
### Fixes
- Fixes for TextField ([1](https://github.com/JetBrains/compose-jb/issues/1834), [2](https://github.com/JetBrains/compose-jb/issues/1615), [3](https://github.com/JetBrains/compose-jb/issues/1781), [4](https://github.com/JetBrains/compose-jb/issues/1670))
- [Fix exception when we initialize a window with visible = false, undecorated = true](https://github.com/JetBrains/compose-jb/issues/1652)
- [Fix crash in ImageComposeScene](https://github.com/JetBrains/compose-jb/issues/1392)
- [Fixes for situations, when hover state doesn't disappear during scrolling](https://github.com/JetBrains/compose-jb/issues/1324#issuecomment-981148420)
- Fixes for Slider/Scrollbar dragging ([1](https://github.com/JetBrains/compose-jb/issues/643), [2](https://github.com/JetBrains/compose-jb/issues/691))
- [Fixed a case where [event.modifiersEx] does not provide info about the pressed mouse button (AWT)](https://github.com/JetBrains/androidx/pull/181)
- Fix [TextField crashes after selecting the text and then deactivating the text field](https://github.com/JetBrains/compose-jb/issues/1474)
- [Fix consuming events by mouse clickable](https://github.com/JetBrains/androidx/pull/178)
- [Hide top-level dialog from the taskbar](https://github.com/JetBrains/androidx/pull/177)
### API changes
- [The first frame of the window draws offscreen now](https://github.com/JetBrains/compose-jb/issues/1794). If your application has too long start, measure your first frame, and move the heavy logic to background or to the next frames. You can measure the first frame with this snippet:
```
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.ui.window.singleWindowApplication
private var time by mutableStateOf(System.nanoTime())
private var frame by mutableStateOf(0)
fun main() = singleWindowApplication {
if (frame == 0) {
frame++
} else if (frame == 1) {
val duration = ((System.nanoTime() - time) / 1E6).toLong()
println("First frame millis: $duration")
}
}
```
- [`PointerEvent.awtEvent`, `KeyEvent.awtEvent` are deprecated](https://github.com/JetBrains/androidx/pull/198), use `PointerEvent.awtEventOrNull`, `KeyEvent.awtEventOrNull` instead. The event can be null, if it isn't sent by AWT (for example, Compose can send synthetic Move events on relayout)
# 1.0.1 (Dec 2021) # 1.0.1 (Dec 2021)
This is basically 1.0.0 that works with Kotlin 1.6.10 This is basically 1.0.0 that works with Kotlin 1.6.10

10
tutorials/Mouse_Events/README.md

@ -293,7 +293,7 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.awt.awtEvent import androidx.compose.ui.awt.awtEventOrNull
import androidx.compose.ui.input.pointer.PointerEventType import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.input.pointer.onPointerEvent import androidx.compose.ui.input.pointer.onPointerEvent
import androidx.compose.ui.window.singleWindowApplication import androidx.compose.ui.window.singleWindowApplication
@ -306,7 +306,7 @@ fun main() = singleWindowApplication {
Modifier Modifier
.fillMaxSize() .fillMaxSize()
.onPointerEvent(PointerEventType.Press) { .onPointerEvent(PointerEventType.Press) {
text = it.awtEvent.locationOnScreen?.toString().orEmpty() text = it.awtEventOrNull?.locationOnScreen?.toString().orEmpty()
}, },
contentAlignment = Alignment.Center contentAlignment = Alignment.Center
) { ) {
@ -381,7 +381,7 @@ import androidx.compose.ui.unit.sp
import androidx.compose.ui.window.singleWindowApplication import androidx.compose.ui.window.singleWindowApplication
import androidx.compose.ui.input.pointer.PointerEventType import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.input.pointer.onPointerEvent import androidx.compose.ui.input.pointer.onPointerEvent
import androidx.compose.ui.awt.awtEvent import androidx.compose.ui.awt.awtEventOrNull
import androidx.compose.ui.input.pointer.isPrimaryPressed import androidx.compose.ui.input.pointer.isPrimaryPressed
import java.awt.event.MouseEvent import java.awt.event.MouseEvent
@ -397,9 +397,9 @@ fun main() = singleWindowApplication {
.fillMaxWidth(0.7f) .fillMaxWidth(0.7f)
.fillMaxHeight(0.2f) .fillMaxHeight(0.2f)
.onPointerEvent(PointerEventType.Press) { .onPointerEvent(PointerEventType.Press) {
when(it.awtEvent.button) { when(it.awtEventOrNull?.button) {
MouseEvent.BUTTON1 -> MouseEvent.BUTTON1 ->
when (it.awtEvent.clickCount) { when (it.awtEventOrNull?.clickCount) {
1 -> { text = "Single click"} 1 -> { text = "Single click"}
2 -> { text = "Double click"} 2 -> { text = "Double click"}
} }

Loading…
Cancel
Save