Skip to content

Commit

Permalink
added resize and focus events.
Browse files Browse the repository at this point in the history
  • Loading branch information
codescapade committed Sep 9, 2024
1 parent 77d5dff commit f44f355
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 1 deletion.
16 changes: 16 additions & 0 deletions src/jume/events/FocusEvent.hx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package jume.events;

/**
* Events triggered when the canvas focus changes.
*/
class FocusEvent extends Event {
/**
* This event is triggered when the window gets focus.
*/
public static final FOCUSED: EventType<FocusEvent> = 'jume_focused_event';

/**
* This event is triggered when the window loses focus.
*/
public static final UNFOCUSED: EventType<FocusEvent> = 'jume_unfocused_event';
}
21 changes: 21 additions & 0 deletions src/jume/events/ResizeEvent.hx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package jume.events;

/**
* Event triggered when the browser window resizes.
*/
class ResizeEvent extends Event {
/**
* Resize event type.
*/
public static final RESIZE: EventType<ResizeEvent> = 'jume_resize_event';

/**
* The new window width in pixels.
*/
var width: Int;

/**
* The new window height in pixels.
*/
var height: Int;
}
2 changes: 2 additions & 0 deletions tests/unit/UnitTests.hx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package;

import jume.events.ResizeEventTests;
import jume.di.ServicesTests;
import jume.di.InjectableTests;
import jume.events.EventTests;
Expand All @@ -18,6 +19,7 @@ class UnitTests {
runner.addCase(new EventTests());
runner.addCase(new EventListenerTests());
runner.addCase(new EventsTests());
runner.addCase(new ResizeEventTests());

Report.create(runner);

Expand Down
2 changes: 1 addition & 1 deletion tests/unit/jume/events/EventTests.hx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import utest.Assert;
import utest.Test;

class EventTests extends Test {
function testConstructor() {
function testEventGetter() {
final event = TestEvent.get(TestEvent.TEST, 'test name', 42);

Assert.equals(TestEvent.TEST, event.type);
Expand Down
13 changes: 13 additions & 0 deletions tests/unit/jume/events/ResizeEventTests.hx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package jume.events;

import utest.Assert;
import utest.Test;

class ResizeEventTests extends Test {
function testEventGetter() {
final event = ResizeEvent.get(ResizeEvent.RESIZE, 800, 600);

Assert.equals(800, event.width);
Assert.equals(600, event.height);
}
}

0 comments on commit f44f355

Please sign in to comment.