Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file.
67 changes: 67 additions & 0 deletions modules/hud/api/hud.api
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ public abstract class org/polyfrost/oneconfig/api/hud/v1/Hud : org/polyfrost/one
public fun getExternalPlacement ()Lorg/polyfrost/oneconfig/api/hud/v1/ExternalPlacement;
public final fun getFont ()Lorg/polyfrost/oneconfig/api/hud/v1/Font;
public final fun getFullShadow ()Z
public final fun getGroup ()Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;
public final fun getGroupPath ()Ljava/lang/String;
public final fun getGrowthAnchor ()Lorg/polyfrost/oneconfig/api/hud/v1/HudAnchor;
public fun getHidden ()Z
public final fun getKeepBgWhenHidden ()Z
Expand Down Expand Up @@ -158,6 +160,7 @@ public abstract class org/polyfrost/oneconfig/api/hud/v1/Hud : org/polyfrost/one
public fun setCustomScale (F)V
public final fun setFont (Lorg/polyfrost/oneconfig/api/hud/v1/Font;)V
public final fun setFullShadow (Z)V
public final fun setGroupPath (Ljava/lang/String;)V
public final fun setGrowthAnchor (Lorg/polyfrost/oneconfig/api/hud/v1/HudAnchor;)V
public final fun setGrowthAnchorKeepingPosition (Lorg/polyfrost/oneconfig/api/hud/v1/HudAnchor;)V
public fun setHidden (Z)V
Expand Down Expand Up @@ -263,6 +266,70 @@ public final class org/polyfrost/oneconfig/api/hud/v1/HudAnchor$Companion {
public final fun of (Lorg/polyfrost/compose/layout/PolyAlign;)Lorg/polyfrost/oneconfig/api/hud/v1/HudAnchor;
}

public final class org/polyfrost/oneconfig/api/hud/v1/HudGroup {
public static final field $stable I
public final fun contains (Lorg/polyfrost/oneconfig/api/hud/v1/Hud;)Z
public final fun contains (Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;)Z
public fun equals (Ljava/lang/Object;)Z
public final fun getDepth ()I
public final fun getDirectHuds ()Ljava/util/List;
public final fun getHuds ()Ljava/util/List;
public final fun getId ()Ljava/lang/String;
public final fun getLocked ()Z
public final fun getName ()Ljava/lang/String;
public final fun getParent ()Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;
public final fun getPath ()Ljava/lang/String;
public final fun getScale ()F
public final fun getSubGroups ()Ljava/util/List;
public final fun getUniformScale ()Z
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class org/polyfrost/oneconfig/api/hud/v1/HudGroups {
public static final field $stable I
public static final field INSTANCE Lorg/polyfrost/oneconfig/api/hud/v1/HudGroups;
public static final field SEPARATOR C
public static final fun addTo (Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;Ljava/util/Collection;)Z
public static final fun addTo (Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;Ljava/util/Collection;Ljava/util/Collection;)Z
public static synthetic fun addTo$default (Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;Ljava/util/Collection;Ljava/util/Collection;ILjava/lang/Object;)Z
public static final fun all ()Ljava/util/List;
public static final fun bounds (Ljava/util/Collection;)[F
public static final fun bounds (Ljava/util/Collection;Lkotlin/jvm/functions/Function1;)[F
public static synthetic fun bounds$default (Ljava/util/Collection;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)[F
public static final fun chainOf (Lorg/polyfrost/oneconfig/api/hud/v1/Hud;)Ljava/util/List;
public static final fun group (Ljava/util/Collection;)Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;
public static final fun group (Ljava/util/Collection;Ljava/util/Collection;)Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;
public static synthetic fun group$default (Ljava/util/Collection;Ljava/util/Collection;ILjava/lang/Object;)Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;
public static final fun hasUniformScale (Ljava/util/Collection;)Z
public static final fun matchScale (Ljava/util/Collection;F)V
public static final fun matchScale (Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;F)V
public static final fun moveFrom (Ljava/util/Collection;Ljava/util/Map;FF)V
public static final fun nameOf (Ljava/lang/String;)Ljava/lang/String;
public static final fun of (Lorg/polyfrost/oneconfig/api/hud/v1/Hud;)Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;
public static final fun outermostOf (Lorg/polyfrost/oneconfig/api/hud/v1/Hud;)Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;
public static final fun registerDefault (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;)V
public static final fun removeFromGroup (Lorg/polyfrost/oneconfig/api/hud/v1/Hud;)V
public static final fun removeFromGroup (Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;)V
public static final fun roots (Ljava/util/Collection;)Ljava/util/List;
public static final fun scaleOf (Ljava/util/Collection;)F
public static final fun scaleRange (Ljava/util/Collection;)Lkotlin/ranges/ClosedFloatingPointRange;
public static final fun scaleRange (Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;)Lkotlin/ranges/ClosedFloatingPointRange;
public static final fun scaling (Ljava/util/Collection;FF)Lorg/polyfrost/oneconfig/api/hud/v1/HudGroups$Scaling;
public static final fun setLocked (Ljava/util/Collection;Z)V
public static final fun setLocked (Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;Z)V
public static final fun setScale (Ljava/util/Collection;F)V
public static final fun setScale (Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;F)V
public static final fun ungroup (Lorg/polyfrost/oneconfig/api/hud/v1/HudGroup;)V
}

public final class org/polyfrost/oneconfig/api/hud/v1/HudGroups$Scaling {
public static final field $stable I
public final fun apply (F)F
public final fun getMaxFactor ()F
public final fun getMinFactor ()F
}

public final class org/polyfrost/oneconfig/api/hud/v1/HudManager {
public static final field $stable I
public static final field INSTANCE Lorg/polyfrost/oneconfig/api/hud/v1/HudManager;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -389,6 +389,11 @@ public abstract class Hud(
return minSize
}

/** Drops the size measured this frame for a caller which has just changed what it depends on */
internal fun forgetMinimumSize() {
minSizeFrame = Long.MIN_VALUE
}

public open val scaledWidth: Float get() {
val scale = effectiveScale
val w = if (staticWidth || renderedW <= 0f) staticW * scale else renderedW
Expand Down Expand Up @@ -1004,6 +1009,22 @@ public abstract class Hud(
setAbsolutePosition(absX, absY)
}

private var _groupPath: MutableState<String> = mutableStateOf("")

/**
* The ids of the groups this HUD is in from the outermost down to the one it sits directly in,
* joined by [HudGroups.SEPARATOR], or empty when it is not grouped
*
* Prefer [HudGroups] over setting this directly
*/
@get:ApiStatus.Experimental
@set:ApiStatus.Experimental
public var groupPath: String get() = _groupPath.value; set(v) { _groupPath.put(v) }

/** The group this HUD sits directly in or `null` when it is not grouped */
@get:ApiStatus.Experimental
public val group: HudGroup? get() = HudGroups.of(this)

/** Whether [hud] is this HUD's anchor target or the target of one of its targets */
public fun anchorChainContains(hud: Hud): Boolean {
var current = anchorParent
Expand Down Expand Up @@ -1494,6 +1515,7 @@ public abstract class Hud(
tree["selfAnchorPoint"] = ktProperty(out::selfAnchorPoint).apply { addDisplayCondition(hideFromConfigUi) }
tree["anchorOffsetX"] = ktProperty(out::anchorOffsetX).apply { addDisplayCondition(hideFromConfigUi) }
tree["anchorOffsetY"] = ktProperty(out::anchorOffsetY).apply { addDisplayCondition(hideFromConfigUi) }
tree["groupPath"] = ktProperty(out::groupPath).apply { addDisplayCondition(hideFromConfigUi) }
}
tree["toggleKey"] = ktProperty(out::toggleKey).apply { addDisplayCondition(hideFromConfigUi) }
tree["showKey"] = ktProperty(out::showKey).apply { addDisplayCondition(hideFromConfigUi) }
Expand Down Expand Up @@ -1718,6 +1740,7 @@ public abstract class Hud(
_mergeLinkY = mutableStateOf(null)
_anchorOffsetX = mutableStateOf(this@Hud.anchorOffsetX)
_anchorOffsetY = mutableStateOf(this@Hud.anchorOffsetY)
_groupPath = mutableStateOf(this@Hud.groupPath)
_padTop = mutableStateOf(this@Hud.padTop)
_padBottom = mutableStateOf(this@Hud.padBottom)
_padLeft = mutableStateOf(this@Hud.padLeft)
Expand Down
Loading