Package megameklab.printing
Class PrintHandheldWeapon
java.lang.Object
megameklab.printing.PrintRecordSheet
megameklab.printing.PrintEntity
megameklab.printing.PrintHandheldWeapon
- All Implemented Interfaces:
Printable
,IdConstants
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final double
Default/Fallback font size for labelsstatic final int
static final int
static final int
static final int
Threshold for large layoutstatic final int
static final double
Default margin below an ammo labelstatic final int
Maximum amount of pips displayable, after that we leave blankstatic final int
Maximum amount of pips displayable, after that we leave blankstatic final double
Maximum margin above an ammo labelstatic final int
Default minimum amount of pips for a rowstatic final double
Minimum margin above an ammo labelstatic final double
Default minimum spacing between the outer edges of pipsstatic final double
In case there are labels, offset the first label (and the whole bbox)static final double
Maximum distance between pips relative to pip diameter (Horizontal)static final double
Maximum distance between pips relative to pip diameter (Vertical)static final double
Default minimum radius for pipstatic final double
Default radius for a pipstatic final double
Default stroke width for a pipFields inherited from class megameklab.printing.PrintRecordSheet
DEFAULT_PIP_SIZE, DEFAULT_TYPEFACE, FILL_BLACK, FILL_GREY, FILL_SHADOW, FILL_WHITE, FONT_SIZE_LARGE, FONT_SIZE_MEDIUM, FONT_SIZE_SMALL, FONT_SIZE_VSMALL, options, svgNS, TABLE_RATIO
Fields inherited from interface megameklab.printing.IdConstants
AFT_HEAT, AFT_SIDES_HEAT, AMMO_PIPS, ARMOR_DIAGRAM, ARMOR_DIVISOR, ARMOR_KIT, ARMOR_PIPS, ARMOR_TYPE, ASF_BLANK_GUNNERY_SKILL, ASF_BLANK_PILOTING_SKILL, ASF_GUNNERY_SKILL, ASF_PILOTING_SKILL, BLANK_CREW_NAME, BLANK_GUNNERY_SKILL, BLANK_PILOTING_SKILL, BLANKS_CREW, BOMB_BOXES, BROADSIDES_HEAT, BV, CANON_ARMOR_PIPS, CANON_STRUCTURE_PIPS, CHECK_AP, CHECK_LEG, CHECK_MECHANIZED, CHECK_SWARM, COPYRIGHT, COST, CREW_DAMAGE, CREW_NAME, CRITS, DAMAGE, DC_PIPS, DEFAULT_FLUFF_IMAGE, DEST_MODS, DOUBLE_HS_COUNT, ENGINE_TYPE, ERA_ICON, EXTERNAL_STORES, EXTERNAL_STORES_KEY, FIELD_GUN_AMMO, FIELD_GUN_COLUMNS, FIELD_GUN_CREW, FIELD_GUN_DMG, FIELD_GUN_DMG_2, FIELD_GUN_LONG, FIELD_GUN_MED, FIELD_GUN_MIN_RANGE, FIELD_GUN_QTY, FIELD_GUN_SHORT, FIELD_GUN_TYPE, FLUFF_DUAL_PILOT, FLUFF_IMAGE, FLUFF_NAME, FLUFF_SINGLE_PILOT, FLUFF_TRIPLE_PILOT, FOOTER, FORE_SIDES_HEAT, FRAME, GUNNERY_SKILL, GUNNERY_SKILL_TEXT, HEAT_SINK_PIPS, HEAVY_DUTY_GYRO_PIP, HS_COUNT, HS_TYPE, INVENTORY, IS_PIPS, IS_PIPS_HD, IS_PIPS_HD_SH, KF_PIPS, LBL_BATTLEARMOR, LBL_JUMP, LBL_ROLE, LBL_VEE_MODE, LIFE_BOATS, MAG_CLAMP_NOTE, MAIN_GUN_ARMOR, MAIN_GUN_SHADOW, MAIN_GUN_TEXT, MINUS_1_MP, MINUS_2_MP, MINUS_3_MP, MINUS_4_MP, MINUS_5_MP, MINUS_6_MP, MINUS_7_MP, MINUS_8_MP, MINUS_9_MP, MML_COLOR_ELEMENTS, MML_FIELD_WIDTH, MML_GAP, MML_MULTISECTION, MODE_1, MODE_2, MODE_2_LABEL, MOVEMENT_TYPE, MP_1, MP_2, MP_2_LABEL, MP_AIRMEK_CRUISE, MP_AIRMEK_FLANK, MP_AIRMEK_RUN, MP_AIRMEK_WALK, MP_CRUISE, MP_FLANK, MP_GROUND, MP_JUMP, MP_MAX_THRUST, MP_RUN, MP_SAFE_THRUST, MP_WALK, N_BATTLEARMOR, N_CREW, N_MARINES, N_OTHER, N_PASSENGERS, NO_SOLDIER, NOSE_HEAT, NOTES, PARTIAL_WING_BONUS, PATCHWORK, PILOT_NAME, PILOTING_SKILL, PILOTING_SKILL_TEXT, PIPS, PROTOMEK_INDEX, RANGE, RANGE_IN_HEXES, RANGE_MOD, ROLE, ROW_SHADING, RS_TEMPLATE, RULES_LEVEL, SAIL_PIPS, SHIELD, SHIELD_DA, SHIELD_DC, SI_PIPS, SNEAK_CAMO_MODS, SNEAK_IR_MODS, SOLDIER, SPAS, SQUAD, STRUCTURE_PIPS, STRUCTURE_TYPE, SUIT, TECH_BASE, TEXT_ARMOR, TEXT_DOCKING_COLLARS, TEXT_IS, TEXT_KFDRIVE, TEXT_SAIL, TEXT_SI, TITLE, TONNAGE, TORSO_WEAPON, TRACKS, TRANSPORT_WT, TYPE, TYPE2, UNIT_SCALE, UNIT_TYPE, UW_LABEL, UW_RANGE_MOD, WARRIOR_DATA_DUAL, WARRIOR_DATA_SINGLE, WARRIOR_DATA_TRIPLE, WHEELS
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
-
Constructor Summary
ConstructorsConstructorDescriptionPrintHandheldWeapon
(megamek.common.HandheldWeapon handheldWeapon, int startPage, RecordSheetOptions options) Creates an SVG object for the record sheet -
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected void
Add armor and structure pips for each location.protected void
megamek.common.Entity
protected String
protected String
getSVGFileName
(int pageNumber) boolean
Checks if the layout is large based on the number of pips and ammo typesprotected boolean
protected void
Methods inherited from class megameklab.printing.PrintEntity
drawFluffImage, firstArmorLocation, formatCost, formatFeatures, formatJump, formatMiscNotes, formatMovement, formatMovement, formatQuirks, formatRulesLevel, formatRun, formatTacticalFuel, formatTechBase, formatWalk, getBookmarkNames, getElementById, getFluffImage, heatProfileText, hideUnusedCrewElements, processImage, showHeatProfile, showPilotInfo, useAlternateArmorGrouping, writeEquipment
Methods inherited from class megameklab.printing.PrintRecordSheet
addMultilineTextElement, addMultilineTextElement, addReferenceCharts, addTextElement, addTextElement, addTextElementToFit, addTextElementToFit, build, createDocument, createPip, createPip, createRoundedRectangle, embedImage, embedImage, exportPDF, getBoldFont, getBoldTextLength, getFirstPage, getFontHeight, getNormalFont, getPageCount, getRectBBox, getRightSideReferenceTables, getSVGDocument, getTextLength, getTypeface, hideElement, hideElement, hideElement, hideElement, includeReferenceCharts, loadTemplate, placeReferenceCharts, print, setCallback, setSVGDocument, setTextField, setTextField, setTextField
-
Field Details
-
PIP_RADIUS
public static final double PIP_RADIUSDefault radius for a pip- See Also:
-
PIP_MIN_RADIUS
public static final double PIP_MIN_RADIUSDefault minimum radius for pip- See Also:
-
PIP_STROKE_WIDTH
public static final double PIP_STROKE_WIDTHDefault stroke width for a pip- See Also:
-
MIN_PIP_SPACING
public static final double MIN_PIP_SPACINGDefault minimum spacing between the outer edges of pips- See Also:
-
OFFSET_FIRST_LABEL
public static final double OFFSET_FIRST_LABELIn case there are labels, offset the first label (and the whole bbox)- See Also:
-
LABEL_DEFAULT_FONT_SIZE
public static final double LABEL_DEFAULT_FONT_SIZEDefault/Fallback font size for labels- See Also:
-
MIN_MARGIN_ABOVE_LABEL
public static final double MIN_MARGIN_ABOVE_LABELMinimum margin above an ammo label- See Also:
-
MAX_MARGIN_ABOVE_LABEL
public static final double MAX_MARGIN_ABOVE_LABELMaximum margin above an ammo label- See Also:
-
MARGIN_BELOW_LABEL
public static final double MARGIN_BELOW_LABELDefault margin below an ammo label- See Also:
-
PIP_MAX_DISTANCE_MULTIPLIER_X
public static final double PIP_MAX_DISTANCE_MULTIPLIER_XMaximum distance between pips relative to pip diameter (Horizontal)- See Also:
-
PIP_MAX_DISTANCE_MULTIPLIER_Y
public static final double PIP_MAX_DISTANCE_MULTIPLIER_YMaximum distance between pips relative to pip diameter (Vertical)- See Also:
-
MIN_ARMOR_PIPS_PER_ROW
public static final int MIN_ARMOR_PIPS_PER_ROWDefault minimum amount of pips for a row- See Also:
-
MAX_ARMOR_PIPS
public static final int MAX_ARMOR_PIPSMaximum amount of pips displayable, after that we leave blank- See Also:
-
MAX_AMMO_PIPS
public static final int MAX_AMMO_PIPSMaximum amount of pips displayable, after that we leave blank- See Also:
-
LARGE_LAYOUT_THRESHOLD_ARMOR_PIPS
public static final int LARGE_LAYOUT_THRESHOLD_ARMOR_PIPSThreshold for large layout- See Also:
-
LARGE_LAYOUT_THRESHOLD_WEAPON_TYPE_COUNT
public static final int LARGE_LAYOUT_THRESHOLD_WEAPON_TYPE_COUNT- See Also:
-
LARGE_LAYOUT_THRESHOLD_AMMO_TYPE_COUNT
public static final int LARGE_LAYOUT_THRESHOLD_AMMO_TYPE_COUNT- See Also:
-
LARGE_LAYOUT_THRESHOLD_AMMO_AMOUNT1
public static final int LARGE_LAYOUT_THRESHOLD_AMMO_AMOUNT1- See Also:
-
LARGE_LAYOUT_THRESHOLD_AMMO_AMOUNT2
public static final int LARGE_LAYOUT_THRESHOLD_AMMO_AMOUNT2- See Also:
-
-
Constructor Details
-
PrintHandheldWeapon
public PrintHandheldWeapon(megamek.common.HandheldWeapon handheldWeapon, int startPage, RecordSheetOptions options) Creates an SVG object for the record sheet- Parameters:
handheldWeapon
- The handheld weapon to printstartPage
- The print job page number for this sheetoptions
- Overrides the global options for which elements are printed
-
-
Method Details
-
isLargeLayout
public boolean isLargeLayout()Checks if the layout is large based on the number of pips and ammo types- Returns:
- true if the layout is large, false otherwise
-
getSVGFileName
- Specified by:
getSVGFileName
in classPrintRecordSheet
- Parameters:
pageNumber
- The page number in the current record sheet, where the first page is numbered zero.- Returns:
- The file name for the current page in the record sheet image directory
-
getEntity
public megamek.common.Entity getEntity()- Specified by:
getEntity
in classPrintEntity
-
getRecordSheetTitle
- Specified by:
getRecordSheetTitle
in classPrintRecordSheet
- Returns:
- The title to use for the record sheet
-
writeTextFields
protected void writeTextFields()- Overrides:
writeTextFields
in classPrintEntity
-
drawArmor
protected void drawArmor()- Overrides:
drawArmor
in classPrintEntity
-
drawStructure
protected void drawStructure()- Overrides:
drawStructure
in classPrintEntity
-
drawArmorStructurePips
protected void drawArmorStructurePips()Description copied from class:PrintEntity
Add armor and structure pips for each location.- Overrides:
drawArmorStructurePips
in classPrintEntity
-
supportsAlternateArmorGrouping
protected boolean supportsAlternateArmorGrouping()- Specified by:
supportsAlternateArmorGrouping
in classPrintEntity
-