const _MwWrapper = require("../_mwbridge/_mw-wrapper.js");
const Padding = require("./padding");
const FontUnit = require("./font-unit");
/**
* Caption parameters.
*/
class CaptionParameters extends _MwWrapper
{
font;
padding;
constructor(mwObject)
{
super(mwObject);
this._initializeWrapperMembers();
}
_initializeWrapperMembers()
{
this.padding = new Padding(this.getJavaClass().getPaddingSync());
this.font = new FontUnit(this.getJavaClass().getFontSync());
}
/**
* Caption text.<br>
* Default value: empty string.
*/
getText()
{
return this.getJavaClass().getTextSync();
}
/**
* Caption text.<br>
* Default value: empty string.
*/
setText(value)
{
this.getJavaClass().setTextSync(value);
}
/**
* Caption font.<br>
* Default value: Arial 8pt regular.
*/
getFont()
{
return this.font;
}
/**
* Caption text visibility.<br>
* Default value: false.
*/
getVisible()
{
return this.getJavaClass().getVisibleSync();
}
/**
* Caption text visibility.<br>
* Default value: false.
*/
setVisible(value)
{
this.getJavaClass().setVisibleSync(value);
}
/**
* Caption text color.<br>
* Default value BLACK.
*/
getTextColor()
{
let intColor = this.getJavaClass().getTextColorSync();
let hexColor = ((intColor) >>> 0).toString(16).slice(-6).toUpperCase()
while (hexColor.length < 6) {
hexColor = "0" + hexColor;
}
hexColor = "#" + hexColor;
return hexColor;
}
/**
* Caption text color.<br>
* Default value BLACK.
*/
setTextColor(hexValue)
{
this.getJavaClass().setTextColorSync((parseInt(hexValue.substr(1), 16) << 8) / 256);
}
/**
* Captions paddings.<br>
* Default value for CaptionAbove: 5pt 5pt 0 5pt.<br>
* Default value for CaptionBelow: 0 5pt 5pt 5pt.
*/
getPadding()
{
return this.padding;
}
/**
* Captions paddings.<br>
* Default value for CaptionAbove: 5pt 5pt 0 5pt.<br>
* Default value for CaptionBelow: 0 5pt 5pt 5pt.
*/
setPadding(value)
{
this.getJavaClass().setPaddingSync(value.getJavaClass());
this.padding = value;
}
/**
* Caption test horizontal alignment.<br>
* Default TextAlignment.CENTER.
*/
getAlignment()
{
return this.getJavaClass().getAlignmentSync();
}
/**
* Caption test horizontal alignment.<br>
* Default TextAlignment.CENTER.
*/
setAlignment(value)
{
this.getJavaClass().setAlignmentSync(value);
}
/**
* Specify word wraps (line breaks) within text.<br>
* Default value: false.
*/
getNoWrap()
{
return this.getJavaClass().getNoWrapSync();
}
/**
* Specify word wraps (line breaks) within text.<br>
* Default value: false.
*/
setNoWrap(value)
{
this.getJavaClass().setNoWrapSync(value);
}
/**
* Specify word wraps (line breaks) within text.<br>
* Default value: false.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
module.exports = CaptionParameters;