Commit Graph

1574 Commits

Author SHA1 Message Date
johni0702
35bc9f7fae Remove preferred size and default button size
Replace alignment data in horizontal and vertical layout with double value
Add convenient size(GuiElement, ReadableDimension) method to custom layout
2015-07-13 08:11:15 +02:00
johni0702
219277f623 Add layers to Gui API so specific elements can be drawn on top of others and react to mouse clicks first 2015-07-13 08:11:15 +02:00
CrushedPixel
39558701bf Reworked GuiEditKeyframe to use ComposedElements
Made GuiArrowButton a subclass of GuiAdvancedButton
Added consistency to ReplayHandler by renaming getMarkers() to getMarkerKeyframes() and removing redundant methods which can be accessed via KeyframeList class
2015-07-13 02:03:19 +02:00
CrushedPixel
66c595eb04 Marker Keyframes are now being saved in a KeyframeList in the ReplayHandler
Made MarkerKeyframes names editable in GuiEditKeyframe
Shows "Unnamed Marker" if Marker name is empty
2015-07-13 01:21:48 +02:00
CrushedPixel
f55f169d01 Removed MarkerKeyframe and replaced it with generic type of Keyframe using the new Marker POJO 2015-07-13 00:17:29 +02:00
CrushedPixel
bb05e3648d Cleaned up OpenGL calls in CustomObjectRenderer and PathPreviewRenderer and properly displays CustomImageObjects behind Path Preview Markers | https://trello.com/c/FaiMoTDK/ 2015-07-12 23:33:11 +02:00
CrushedPixel
b4e72af48f Prevented NPEs if Asset linked to CustomImageObject is null 2015-07-12 23:32:04 +02:00
CrushedPixel
b0429fcf44 Fixed NPE in GuiFileChooser if selected file is null 2015-07-12 22:23:33 +02:00
CrushedPixel
ac3474f2bc The output file can now be specified in GuiRenderSettings 2015-07-12 22:13:18 +02:00
CrushedPixel
ac79eef077 Added support for Save File Dialogs to GuiFileChooser 2015-07-12 22:12:51 +02:00
CrushedPixel
34e3e3c407 Sets a new CustomImageObject's default position to the player's position 2015-07-12 21:08:06 +02:00
CrushedPixel
75e1c17f1f Added constructor to Position which takes a BlockPos 2015-07-12 21:06:54 +02:00
CrushedPixel
e9a73cb028 use List interface instead of ArrayList implementation in several places 2015-07-12 20:55:13 +02:00
CrushedPixel
06686d20a6 Added static reference to current VideoRenderer instance to allow CustomObjectRenderer to correctly interpolate Object Transformations while rendering 2015-07-12 18:59:19 +02:00
CrushedPixel
cb912d7e54 Pass correct arguments to BoundingUtils.fitIntoBounds call in FrameRenderer to fix distorted preview 2015-07-12 18:58:43 +02:00
CrushedPixel
45f64faa77 Created CustomObjectRepository which can be serialized by Gson, storing all CustomImageObjects created
CustomObjectRepository is now being saved to and loaded from the ReplayFile
The CustomObjectRenderer uses the GuiObjectManager's timeline cursor position as interpolation timestamp for the CustomImageObjects which are drawn if a GuiObjectManager is open (instant preview)
KeyframeList's add() method now removes Keyframes with the same timestamp before adding the new Keyframe
Transformations class now holds default values to prevent NullPointerExceptions in methods calling getTransformationForTimestamp()
Added Javadoc to Transformation POJO
Created NumberValueChangeListener which can be applied to GuiNumberInput objects
Made step size customizable in GuiDraggingNumberInput
Changing a ReplayImageAssets image now notifies the CustomImageObjects linked to that asset
Modified RoundUtils to provide a round() method which uses the DecimalFormat class instead of Math.round which is unstable
2015-07-12 16:21:11 +02:00
CrushedPixel
6a6873c3d7 Added ReflectionUtils helper class to find Fields with @Interpolate annotation in superclasses (Interpolators didn't account for Fields in AdvancedPosition inherited by Position) 2015-07-12 03:33:15 +02:00
johni0702
824c80d0d2 GuiLabel now auto-breaks when text is longer than canvas 2015-07-11 15:56:31 +02:00
johni0702
117f383ec0 Add Layout to CrashReport when drawing GUI 2015-07-11 15:53:04 +02:00
johni0702
d8a9b8fd2f Fix point conversion for stacked GuiContainers 2015-07-11 15:53:04 +02:00
johni0702
a61c0eb4e5 Add GuiImage 2015-07-11 15:32:36 +02:00
johni0702
843328658a Add text color and setI18nText to GuiTextField 2015-07-11 15:32:36 +02:00
CrushedPixel
28f7d77800 GuiObjectManager now allows users to set Keyframes for Transformations
Fixed a bug in KeyframeList#getClosestKeyframeForTimestamp that made it only work with AdvancedPosition Keyframes
2015-07-11 14:26:43 +02:00
johni0702
3fb0d87824 Fix constructor of AdvancedPosition not storing advanced data 2015-07-10 14:54:11 +02:00
johni0702
109a025a1e Only use java 6 methods 2015-07-10 14:54:11 +02:00
CrushedPixel
a218c13b44 GuiElement interface's mouseClick method returns a boolean which is handled by ComposedElement to prevent mouse clicks on multiple elements at once
ComposedElement's entries are sorted so that GuiDropdown are always drawn on top
Modified thrown UnsupportedOperationExceptions in CustomImageObject to not be thrown if asset is null
2015-07-10 14:26:51 +02:00
CrushedPixel
8aec0a364a Revert "Doesn't use a Java 1.8 Method to sort KeyframeList's contents"
This reverts commit 7c342d8995fdcb103a9eb01e57efad15af66b427.
2015-07-10 14:26:51 +02:00
CrushedPixel
1c417877e6 Doesn't use a Java 1.8 Method to sort KeyframeList's contents 2015-07-10 14:26:50 +02:00
johni0702
dea3f7fc9f Add GuiToggleButton 2015-07-10 12:59:07 +02:00
johni0702
f2ee292119 Add GuiCheckbox 2015-07-10 12:23:33 +02:00
johni0702
2b2bbbf49a Add hint to GuiTextField 2015-07-10 12:23:33 +02:00
CrushedPixel
ef39c7466d Renamed the commonly used Position POJO into AdvancedPosition, as it also hold pitch, yaw and roll
Made GuiDropdown only accept instances of GuiEntryListEntry to avoid unneccessary toString() methods returning the name
Added GuiEntryListValueEntry which holds a Value and a Name to be displayed
Continued work on GuiObjectManager
2015-07-10 04:27:15 +02:00
CrushedPixel
30ebfe96bd Allowed GuiTimeline instances to have any height (instead of fixed 22px height) and updated draw() method accordingly
Added HSV noise to GuiTimeline's textures to somewhat hide the repeating body texture
Implemented GuiTimeline in GuiObjectManager's GuiObjectKeyframeTimeline
Added asInt() method to TimestampValue, to avoid int casts of value field
2015-07-10 03:37:13 +02:00
CrushedPixel
5828b04596 "The Commit that properly implements the disabling of Gui Elements"
Added enabled Field to DelegatingElement, which every instance can handle itself
Made isEnabled Field in GuiAdvancedTextField protected for subclasses to access
Made GuiDraggingNumberInput only draggable while enabled
Made GuiDropdown check enabled field before accepting mouse clicks
Properly tints GuiTexturedButton if disabled
2015-07-10 03:37:13 +02:00
johni0702
59e6b87935 Use new Gui API for GuiReplayDownloading 2015-07-09 18:30:31 +02:00
johni0702
c66efc91b7 Add GuiProgressBar for new Gui API 2015-07-09 18:30:00 +02:00
johni0702
9e886b6171 Add tooltips to gui elements 2015-07-09 18:24:15 +02:00
johni0702
d4e04feaeb Use new Gui API for GuiLoginPrompt and GuiRegister 2015-07-09 18:24:15 +02:00
johni0702
db8b5a9be0 Add new Gui API 2015-07-09 18:24:15 +02:00
CrushedPixel
4ebf6c5b21 GuiKeyframeRepository always loads the Presets from its current Data set (to respect removed/newly added presets) 2015-07-09 16:41:13 +02:00
CrushedPixel
609c731dc0 Got rid of the OpenEmbeddedChannel, an artifact of the ReplayMod's very beginning. Rest in Peace, old friend. 2015-07-09 16:30:42 +02:00
CrushedPixel
16b74d9824 Included Path Interpolation methods in KeyframeList and uses it in PathPreviewRenderer
Created newInstance() method in KeyframeValue interface
2015-07-08 23:55:48 +02:00
CrushedPixel
cd27ccd855 Undo replacements of "Timestamp" with "Value" in comments/javadoc in ReplaySender 2015-07-08 23:00:06 +02:00
CrushedPixel
2d19b17626 Finished Layout of GuiObjectManager 2015-07-08 16:54:14 +02:00
CrushedPixel
80a47a61c8 Made GuiDropdown a subclass of GuiAdvancedTextfield, updating the Constructor and removing the now redundant GuiConstants entries 2015-07-08 15:50:12 +02:00
CrushedPixel
e26e09a264 Made GuiDraggingNumberInput fully functional
Linked GuiObjectManager to new Keybinding
Renamed RoundUtils#round to RoundUtils#round2Decimals for easier understanding
2015-07-08 12:13:23 +02:00
CrushedPixel
54f35eca03 Made GuiNumberInput a subclass of GuiAdvancedTextField and removed unneccessary IDs from Constructor and GuiConstants 2015-07-08 11:54:47 +02:00
CrushedPixel
8a973fa3e9 Created @Interpolate annotation for Interpolators to know which fields to interpolate (instead of all public fields) 2015-07-08 11:43:58 +02:00
CrushedPixel
64628eaac3 call super in equals/hashCode functions of KeyframesModifyEvent using Lombok 2015-07-08 04:48:20 +02:00
CrushedPixel
901b175efe Created GuiMarkerTimeline to display Markers again
Created helper methods in ReplayHandler to provide information about MarkerKeyframes
2015-07-08 04:46:44 +02:00