shared/java/paragraph/ParagraphCache.java (96 lines of code) (raw):
package org.jetbrains.skija.paragraph;
import java.lang.ref.*;
import org.jetbrains.annotations.*;
import org.jetbrains.skija.*;
import org.jetbrains.skija.impl.*;
public class ParagraphCache extends Native {
static { Library.staticLoad(); }
public void abandon() {
try {
_validate();
Stats.onNativeCall();
_nAbandon(_ptr);
} finally {
Reference.reachabilityFence(this);
}
}
public void reset() {
try {
_validate();
Stats.onNativeCall();
_nReset(_ptr);
} finally {
Reference.reachabilityFence(this);
}
}
public boolean updateParagraph(Paragraph paragraph) {
try {
_validate();
Stats.onNativeCall();
return _nUpdateParagraph(_ptr, Native.getPtr(paragraph));
} finally {
Reference.reachabilityFence(this);
Reference.reachabilityFence(paragraph);
}
}
public boolean findParagraph(Paragraph paragraph) {
try {
_validate();
Stats.onNativeCall();
return _nFindParagraph(_ptr, Native.getPtr(paragraph));
} finally {
Reference.reachabilityFence(this);
Reference.reachabilityFence(paragraph);
}
}
public void printStatistics() {
try {
_validate();
Stats.onNativeCall();
_nPrintStatistics(_ptr);
} finally {
Reference.reachabilityFence(this);
}
}
public void setEnabled(boolean value) {
try {
_validate();
Stats.onNativeCall();
_nSetEnabled(_ptr, value);
} finally {
Reference.reachabilityFence(this);
}
}
public int getCount() {
try {
_validate();
Stats.onNativeCall();
return _nGetCount(_ptr);
} finally {
Reference.reachabilityFence(this);
}
}
@ApiStatus.Internal
public ParagraphCache(FontCollection owner, long ptr) {
super(ptr);
this._owner = owner;
}
@ApiStatus.Internal
public final FontCollection _owner;
@ApiStatus.Internal
public void _validate() {
try {
if (Native.getPtr(_owner) == 0)
throw new IllegalStateException("ParagraphCache needs owning FontCollection to be alive");
} finally {
Reference.reachabilityFence(_owner);
}
}
@ApiStatus.Internal public static native void _nAbandon(long ptr);
@ApiStatus.Internal public static native void _nReset(long ptr);
@ApiStatus.Internal public static native boolean _nUpdateParagraph(long ptr, long paragraphPtr);
@ApiStatus.Internal public static native boolean _nFindParagraph(long ptr, long paragraphPtr);
@ApiStatus.Internal public static native void _nPrintStatistics(long ptr);
@ApiStatus.Internal public static native void _nSetEnabled(long ptr, boolean value);
@ApiStatus.Internal public static native int _nGetCount(long ptr);
}