public static FormFonts getInstance() { if (instance == null) instance = new FormFonts(); return instance; }
private void ensureBoldFontPresent(Font regularFont) { Font boldFont = (Font) resourceTable.get(FormTextModel.BOLD_FONT_ID); if (boldFont != null) return; boldFont = FormFonts.getInstance().getBoldFont(getDisplay(), regularFont); resourceTable.put(FormTextModel.BOLD_FONT_ID, boldFont); }
public void dispose() { if (fontMap == null) { return; } for (Font boldFont : fontMap.values()) { if (boldFont != null && colors.getDisplay() != null) { FormFonts.getInstance().markFinished(boldFont, colors.getDisplay()); boldFont = null; } } } }
public boolean markFinished(Font boldFont, Display display) { checkHashMaps(); BoldFontDescriptor desc = descriptors.get(boldFont); if (desc != null) { LocalResourceManager resourceManager = manager.getResourceManager(display); resourceManager.destroyFont(desc); if (resourceManager.find(desc) == null) { descriptors.remove(boldFont); validateHashMaps(); } return true; } // if the image was not found, dispose of it for the caller boldFont.dispose(); return false; }
public Font getBoldFont(Display display, Font font) { checkHashMaps(); BoldFontDescriptor desc = new BoldFontDescriptor(font); Font result = manager.getResourceManager(display).createFont(desc); descriptors.put(result, desc); return result; }
public boolean markFinished(Font boldFont, Display display) { checkHashMaps(); BoldFontDescriptor desc = descriptors.get(boldFont); if (desc != null) { LocalResourceManager resourceManager = manager.getResourceManager(display); resourceManager.destroyFont(desc); if (resourceManager.find(desc) == null) { descriptors.remove(boldFont); validateHashMaps(); } return true; } // if the image was not found, dispose of it for the caller boldFont.dispose(); return false; }
public Font getBoldFont(Display display, Font font) { checkHashMaps(); BoldFontDescriptor desc = new BoldFontDescriptor(font); Font result = manager.getResourceManager(display).createFont(desc); descriptors.put(result, desc); return result; }
public void dispose() { if (fontMap == null) { return; } for (Font boldFont : fontMap.values()) { if (boldFont != null && colors.getDisplay() != null) { FormFonts.getInstance().markFinished(boldFont, colors.getDisplay()); boldFont = null; } } } }
private void ensureBoldFontPresent(Font regularFont) { Font boldFont = (Font) resourceTable.get(FormTextModel.BOLD_FONT_ID); if (boldFont != null) return; boldFont = FormFonts.getInstance().getBoldFont(getDisplay(), regularFont); resourceTable.put(FormTextModel.BOLD_FONT_ID, boldFont); }
public static FormFonts getInstance() { if (instance == null) instance = new FormFonts(); return instance; }
private void disposeResourceTable(boolean disposeBoldFont) { if (disposeBoldFont) { Font boldFont = (Font) resourceTable .get(FormTextModel.BOLD_FONT_ID); if (boldFont != null) { FormFonts.getInstance().markFinished(boldFont, getDisplay()); resourceTable.remove(FormTextModel.BOLD_FONT_ID); } } ArrayList<String> imagesToRemove = new ArrayList<>(); for (Enumeration<String> enm = resourceTable.keys(); enm.hasMoreElements();) { String key = enm.nextElement(); if (key.startsWith(ImageSegment.SEL_IMAGE_PREFIX)) { Object obj = resourceTable.get(key); if (obj instanceof Image) { Image image = (Image) obj; if (!image.isDisposed()) { image.dispose(); imagesToRemove.add(key); } } } } for (int i = 0; i < imagesToRemove.size(); i++) { resourceTable.remove(imagesToRemove.get(i)); } }
public Font getBoldFont(Font font) { if (font == null ) { return null; } if (fontMap == null) { fontMap = new HashMap<>(); } if (fontMap.containsKey(font)) { return fontMap.get(font); } Font boldFont = FormFonts.getInstance().getBoldFont(colors.getDisplay(), font); fontMap.put(font, boldFont); return boldFont; }
private void disposeResourceTable(boolean disposeBoldFont) { if (disposeBoldFont) { Font boldFont = (Font) resourceTable .get(FormTextModel.BOLD_FONT_ID); if (boldFont != null) { FormFonts.getInstance().markFinished(boldFont, getDisplay()); resourceTable.remove(FormTextModel.BOLD_FONT_ID); } } ArrayList<String> imagesToRemove = new ArrayList<>(); for (Enumeration<String> enm = resourceTable.keys(); enm.hasMoreElements();) { String key = enm.nextElement(); if (key.startsWith(ImageSegment.SEL_IMAGE_PREFIX)) { Object obj = resourceTable.get(key); if (obj instanceof Image) { Image image = (Image) obj; if (!image.isDisposed()) { image.dispose(); imagesToRemove.add(key); } } } } for (int i = 0; i < imagesToRemove.size(); i++) { resourceTable.remove(imagesToRemove.get(i)); } }
public Font getBoldFont(Font font) { if (font == null ) { return null; } if (fontMap == null) { fontMap = new HashMap<>(); } if (fontMap.containsKey(font)) { return fontMap.get(font); } Font boldFont = FormFonts.getInstance().getBoldFont(colors.getDisplay(), font); fontMap.put(font, boldFont); return boldFont; }
/** * Sets the font to use to render the default text (text that does not have * special font property assigned). Bold font will be constructed from this * font. * * @param font * the default font to use */ @Override public void setFont(Font font) { super.setFont(font); model.clearCache(null); Font boldFont = (Font) resourceTable.get(FormTextModel.BOLD_FONT_ID); if (boldFont != null) { FormFonts.getInstance().markFinished(boldFont, getDisplay()); resourceTable.remove(FormTextModel.BOLD_FONT_ID); } ensureBoldFontPresent(getFont()); }
/** * Sets the font to use to render the default text (text that does not have * special font property assigned). Bold font will be constructed from this * font. * * @param font * the default font to use */ @Override public void setFont(Font font) { super.setFont(font); model.clearCache(null); Font boldFont = (Font) resourceTable.get(FormTextModel.BOLD_FONT_ID); if (boldFont != null) { FormFonts.getInstance().markFinished(boldFont, getDisplay()); resourceTable.remove(FormTextModel.BOLD_FONT_ID); } ensureBoldFontPresent(getFont()); }