Commit Graph

1087 Commits

Author SHA1 Message Date
Hajime Hoshi
4d72f97e45 exp/textinput: add State.Error 2024-03-03 20:53:58 +09:00
Hajime Hoshi
6d898d752e ebiten: add (*Monitor).DeviceScaleFactor()
This replaces ebiten.DeviceScaleFactor().

Updates #2795
2024-02-12 17:09:03 +09:00
Hajime Hoshi
60725eba86 ebiten: add RunGameOptions.X11ClassName and X11InstanceName
Closes #2904
2024-02-11 19:31:29 +09:00
Hajime Hoshi
dd6f5c4565 exp/textinput: bug fix: flaky behavior on iOS Safari
Closes #2898
2024-02-06 12:46:37 +09:00
Hajime Hoshi
5c7bfd3ed7 exp/textinput, examples/textinput: bug fix: handle input states correctly on Android Chrome
Updates #2898
2024-02-03 22:53:42 +09:00
Hajime Hoshi
f9fa5a14f2 examples/textinput: bug fix: accept touches
The remaining task is to enable a backspace key.

Updates #2898
2024-01-31 00:15:32 +09:00
Hajime Hoshi
08ae0f4a94 ebiten: add type GamepadAxisType
Updates #1718
2023-12-25 02:02:56 +09:00
Hajime Hoshi
f57703175e text/v2: rename LineSpaceInPixels -> LineSpace for consistency
Updates #2454
2023-12-24 15:06:19 +09:00
Hajime Hoshi
6878bd79fc text/v2: bug fix: correct rendering vertical texts in Mongolian
Closes #2849
Updates go-text/typesetting#111
2023-12-21 22:58:15 +09:00
Ahmet Affan
ef1fea890f
examples/snake: update comments (#2869) 2023-12-21 04:30:42 +09:00
Hajime Hoshi
06ca0157bf examples/texti18n: sort texts in an alphabetical order of languages 2023-12-20 13:38:07 +09:00
Hajime Hoshi
127e686564 examples/texti18n: update LICENSE.md 2023-12-20 12:59:19 +09:00
Hajime Hoshi
08b7f1ff9d examples/texti18n: add Burmese 2023-12-20 12:53:00 +09:00
LidlDev
c80a82c501
examples/platformer: add more descrpitive comments (#2866) 2023-12-18 01:25:57 +09:00
bsski
b8df1217c3
all: fix typos (#2864) 2023-12-17 22:42:34 +09:00
BioErrorLog
d05afcbcfa
all: fix typos (#2859) 2023-12-08 13:35:52 +09:00
Hajime Hoshi
668124d25c text/v2: add a non-image glyphs for index info 2023-12-05 20:06:06 +09:00
Hajime Hoshi
800835d081 Revert "text/v2: rename Glyph -> Cluster"
This reverts commit f0d23de3d3.

Reason: Cluster doesn't represent a cluster but a part of a cluster.
2023-12-05 19:44:32 +09:00
Hajime Hoshi
f0d23de3d3 text/v2: rename Glyph -> Cluster
This also changes AppendClusters to return cluster info even if a
cluster doesn't have a glyph.
2023-12-05 18:00:30 +09:00
Hajime Hoshi
81e0e61a43 text/v2: let NewMultiFace return an error
Updates #2845
2023-12-04 01:16:47 +09:00
Hajime Hoshi
dfa058a961 text/v2: change the signature of NewMultiFace
Updates #2845
2023-12-02 22:51:37 +09:00
Hajime Hoshi
5790597a15 text/v2: add LimitedFace
Closes #2857
2023-12-02 16:01:28 +09:00
Hajime Hoshi
a6b4a7a2ac text/v2: add NewMultiFace
Updates #2857
2023-12-02 14:56:03 +09:00
Hajime Hoshi
a444f2dd40 text/v2: replace Metrics.Height/Width with HLineGap and VLineGap
Updates #2454
2023-12-02 14:33:41 +09:00
Hajime Hoshi
b925f28104 text/v2: add MultiFace
Closes #2845
2023-11-26 03:32:22 +09:00
Hajime Hoshi
b9b365a576 text/v2: bug fix: Measure didn't work correctly with vertical faces
This also updates examples/texti18n to use text.Measure.

Updates #2143
Updates #2454
2023-11-23 23:25:10 +09:00
Hajime Hoshi
c4b16bec9b text/v2: add an example for font variations
Updates #2454
2023-11-23 22:30:13 +09:00
Hajime Hoshi
b1bd03329e examples/fontfeature: improve a text 2023-11-23 19:30:03 +09:00
Hajime Hoshi
daa14ac686 examples/fontfeature: show the state of 'zero'
Updates #2454
2023-11-23 18:51:36 +09:00
Hajime Hoshi
30f05f4ad7 text/v2: add an example for font features
Updates #2454
2023-11-23 18:47:49 +09:00
Hajime Hoshi
1be6aa5e98 examples/fontvector: add alphabets 2023-11-20 03:50:41 +09:00
Hajime Hoshi
c0e41de921 text/v2: add AppendVectorPath
Closes #1937
Updates #2454
2023-11-20 03:38:26 +09:00
Hajime Hoshi
ecb1ac03d6 examples/keyboard/keyboard: use text/v2
Updates #2454
2023-11-19 16:47:08 +09:00
Hajime Hoshi
e4c0fa9d62 examples/fullscreen: use text/v2
Updates #2454
2023-11-19 16:07:16 +09:00
Weilin Shi
058973adda
examples/drag: remove duplicated calls (#2846) 2023-11-18 19:52:42 +09:00
Hajime Hoshi
2a1eac3b73 examples/font: use text/v2
Updates #2454
2023-11-17 13:07:55 +09:00
Hajime Hoshi
147175d400 text/v2: rename LineHeight -> LineSpacingInPixels
Updates #2454
2023-11-17 01:19:05 +09:00
Hajime Hoshi
9fa60e1656 examples/flappy: adjust text layouts 2023-11-16 23:03:32 +09:00
Hajime Hoshi
3635b67f31 examples/flappy: use text/v2
Updates #2454
2023-11-16 22:49:51 +09:00
Hajime Hoshi
a749f6fbc3 examples/blend: use text/v2
Updates #2454
2023-11-16 22:18:56 +09:00
Hajime Hoshi
006777220c examples/piano: use text/v2
Updates #2454
2023-11-16 02:20:18 +09:00
Hajime Hoshi
bf338eb76b examples/ui: use a sub-image instead of a buffer image 2023-11-15 23:05:43 +09:00
Hajime Hoshi
2641f65863 examples/ui: use text/v2
Updates #2454
2023-11-15 23:03:06 +09:00
Hajime Hoshi
9c95b4accc examples/block: use text/v2 2023-11-15 22:38:28 +09:00
Hajime Hoshi
acd5207142 examples/text: use GoTextFace 2023-11-15 22:01:29 +09:00
Hajime Hoshi
b2c45a369a text/v2: remove the suffix 'InPixels'
Now all the units are pixels, the suffix is redundant.

Updates #2454
2023-11-15 21:53:58 +09:00
Hajime Hoshi
586a4b6d6e all: rename sizeInPoints -> sizeInPixels 2023-11-15 14:03:22 +09:00
Hajime Hoshi
f2180a5dc5 text/v2: rename SizeInPoints -> SizeInPixels 2023-11-15 13:14:36 +09:00
Hajime Hoshi
5fa2c00014 examples/texti18n: adjust positions and texts 2023-11-15 12:46:06 +09:00
Hajime Hoshi
5354ccc44f examples/2048: use text/v2
Also, this changes fixes a bug in (*text/v2.GoTextFace).Metrics.

Updates #2454
2023-11-15 12:28:39 +09:00
Hajime Hoshi
3080d361ec examples/texti18n: remove unnecessary variables 2023-11-15 03:54:19 +09:00
Hajime Hoshi
c24ade7af9 examples/texti18n: bug fix: wrong language was specified 2023-11-15 03:43:27 +09:00
Hajime Hoshi
fe35180b78 text/v2: implement GoTextFace
Closes #675
Updates #2143
Updates #2454
2023-11-15 03:40:45 +09:00
Hajime Hoshi
46600b42f9 text/v2: swap the arguments of Advance for consistency 2023-11-15 03:18:23 +09:00
Hajime Hoshi
ea1d9dde4e text/v2: add LayoutOptions
Now AppendGlyphs can treat multiple lines and alignments.
2023-11-13 23:47:37 +09:00
Hajime Hoshi
cca4e78651 examples/text: add an example to use alignments of text/v2
Closes #2143
2023-11-13 23:02:15 +09:00
Hajime Hoshi
56faf34932 examples/text: adjust the rendering position
text/v2's Draw uses the given position as the upper-left position
of the bounds by default, while text (v1) uses the given position
as the origin position. In order to approximate the same result of
the original text version, adjust the Y values.

Updates #2454
2023-11-13 01:37:36 +09:00
Hajime Hoshi
b8b8b16098 all: add text/v2
This change adds some basic APIs incuding StdFace.

GoTextFace will be added later.

Updates #2454
2023-11-12 17:04:25 +09:00
Hajime Hoshi
3ca6184294 ebiten: add a new FillRule: NonZero
Closes #2782
2023-11-06 12:11:38 +09:00
Hajime Hoshi
c01ceeaa6a ebiten: replace (*Image).Dispose with Deallocate
Closes #2808
2023-11-03 17:45:39 +09:00
Hajime Hoshi
f6ffd86ca8 examples/drag: refactoring 2023-10-28 00:10:15 +09:00
Hajime Hoshi
a7b87fddb4 examples/drag: use image.Alpha to detect user interaction 2023-10-27 10:04:11 +09:00
Hajime Hoshi
630789757f all: add files for PlayStation 5
The implementation is WIP.

Updates #2799
2023-10-16 00:54:08 +09:00
Hajime Hoshi
dce18d7c23 internal/ui: bug fix: SetWindowIcon(nil) didn't reset the window icon
Closes #2796
2023-09-30 02:46:40 +09:00
Hajime Hoshi
a269cf3785 ebiten: remove (*Monitor).Bounds()
Now the unit of Bounds is device-dependent pixels, and this is useless
and Ebitengine API always treat device-independent pixels. Rather,
this might confuse users.

Until we find a good solution, let's remove Bounds() for v2.6.
MonitorType itself is still useful to specify a monitor to show a
window.
2023-09-23 18:24:03 +09:00
Hajime Hoshi
67b3bc14da examples/monitor: use DebugPrint to simplify the sample 2023-09-23 15:56:41 +09:00
Hajime Hoshi
20ef839e03 all: rename arguments in Fragment
Updates #2767
2023-09-21 01:35:57 +09:00
Hajime Hoshi
d7a8f73a37 examples/textinput: add a log message about environments
Updates #2735
Updates #2736
2023-09-20 22:25:13 +09:00
Hajime Hoshi
14f2ee198e ebiten: add SetWindowMousePassthrough and IsWindowMousePassthrough
Closes #2511
2023-09-18 18:31:22 +09:00
Ketchetwahmeegwun T. Southall
60b7de6a3c
ebiten: add APIs to treat monitors (#2597)
This change adds these APIs:

* `type MonitorType`
* `func (*MonitorType) Bounds() image.Rectangle`
* `func (*MonitorType) Name() string`
* `func Monitor() *MonitorType`
* `func SetMonitor(*MonitorType)`
* `func AppendMonitors([]*MonitorType) []*MonitorType`

Closes #1835
2023-08-30 21:02:04 +09:00
Hajime Hoshi
db34930ae8 internal/graphics: add built-in Kage functions
This change adds these Kage functions:

* imageDstOrigin
* imageDstSrc
* imageSrcNOrigin
* imageSrcNSrc

and deprecates these functions:

* imageDstRegionOnTexture
* imageSrcRegionOnTexture

Closes #1870
2023-08-28 15:06:45 +09:00
Hajime Hoshi
101c9cbf5c examples/flappy: use the pixels mode 2023-08-28 03:52:52 +09:00
David Poirier
7fe89b173b
examples/gamepad: bug fix: correct iteration start button in gamepad example (#2730)
Start iterating at zero instead of gamepad id (which is usually 0).
2023-08-24 16:27:35 +09:00
Hajime Hoshi
2b03637b52 examples/textinput: bug fix: reset the state after committing 2023-08-02 18:09:55 +09:00
Hajime Hoshi
af5edf136d examples/textinput: add a comment 2023-08-02 18:02:42 +09:00
Hajime Hoshi
fbea792fe4 audio: rename Seek -> SetPosition and Current -> Position
Seek and Current are not removed but marked as deprecated.

Closes #2698
2023-08-02 01:24:52 +09:00
Hajime Hoshi
b3851839f9 examples/life: change the license to Apache License 2.0
Updates #2695
2023-08-01 23:36:02 +09:00
Hajime Hoshi
63df6168d9 internal/shader: use plural forms for Kage compiler directives
This change renames

```
//kage:unit texel
//kage:unit pixel
```

to

```
//kage:unit texels
//kage:unit pixels
```

.

Closes #2717
2023-08-01 11:41:38 +09:00
Mathieu Champlon
f3023ae88e
examples/lines: remove duplicated code (#2713) 2023-07-29 13:29:19 +09:00
Hajime Hoshi
91e1c0ea29 ebiten: add more cursor shapes
This change adds these new cursor shapes:

* CursorShapeNESWResize
* CursorShapeNWSEResize
* CursorShapeMove
* CursorShapeNotAllowed

Closes #2476
2023-07-23 00:49:45 +09:00
Hajime Hoshi
58f1415cac examples/texti18n: use Jpan as a Japanese script 2023-07-09 15:17:25 +09:00
Hajime Hoshi
f8d8d7a231 examples/life, internal/graphicsdriver/opengl/gl: format copyright texts 2023-07-08 02:50:54 +09:00
Hajime Hoshi
929539b66e add exp/textinput package
This works only for macOS and browsers so far.

Updates #1029
2023-07-05 02:09:04 +09:00
Hajime Hoshi
1d143ffccb examples/texti18n: add comments
Updates #2454
2023-07-01 19:57:45 +09:00
Hajime Hoshi
198bd4788e examples/texti18n: bug fix: space characters were ignored 2023-07-01 18:17:01 +09:00
Hajime Hoshi
3ab50c91df examples: add examples/texti18n
This example shows how to render complex glyphs like Thai and Arabic.

Updates #675
2023-07-01 18:04:05 +09:00
Hajime Hoshi
1514749041 examples/text: remove a dependency on math/rand 2023-06-25 01:33:25 +09:00
Hajime Hoshi
569f472475 examples: replace BoundString with MeasureString and Metrics 2023-06-11 04:26:16 +09:00
Hajime Hoshi
7791ae3029 examples/text: bug fix: go-vet error 2023-06-10 19:29:14 +09:00
Hajime Hoshi
911cf0c48c text: deprecate BoundString
After we found a correct definition of the term 'dot', BoundString seems
less useful than expected. In order to adjust the position of a text, we
should use a face's Metrics and a string's advance (font.MeasureString).
2023-06-10 19:21:04 +09:00
Hajime Hoshi
41906115f4 examples/blend: use the face's metrics to calculate the position
For centering, using bounds is slightly inaccurate as the bounds
don't consider left/right-side bearings. Also, using bounds for
heights is slightly inaccurate as baselines for texts on the same
line would not be the same.

Updates #2143
2023-06-02 01:58:21 +09:00
Hajime Hoshi
f446288e0c update bitmapfont to v3 2023-05-30 11:17:36 +09:00
Hajime Hoshi
49582519c1 all: add a compiler directive kage:unit
This change adds a new compiler directive 'kage:unit' to Kage. This
takes one of these two values: 'pixel' and 'texel'. The default value
is 'texel'.

With the pixel-unit mode, all the built-in functions treats pixels
instead of texels, and the texCoord argument of Fragment is in pixels.
This simplifies shader programs as programs no longer have the notion
of texels.

With the texel-unit mode, the behavior is the same as the current
behavior.

Closes #1431
2023-04-23 22:11:57 +09:00
Hajime Hoshi
01bb42526a examples/shader: refactoring 2023-04-23 16:29:23 +09:00
Eric H
1fdc45e652
example: add a mouse capture example (#2642)
Closes #2641
2023-04-19 13:02:02 +09:00
Hajime Hoshi
bf18a5e998 examples/shader: bug fix: normalize pos correctly 2023-04-17 22:36:31 +09:00
Hajime Hoshi
820548ed68 example/shader: make default.go more deterministic 2023-04-17 22:27:27 +09:00
Hajime Hoshi
1c14ba8eeb examples/shader: add comments
Updates #1431
2023-04-13 14:16:55 +09:00
Hajime Hoshi
0776a54712 examples/shader: remove comments 2023-04-13 14:10:34 +09:00
Hajime Hoshi
2d6e13cda4 examples/shader: bug fix: wrong usages of position
Closes #2638
Updates #1431
2023-04-13 02:02:15 +09:00