Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 95973 Details for
Bug 227006
[Printing] RTL support in multi-platform printing should be re-enabled.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
RTL re-enabled
Printing_RTLSupport.patch (text/plain), 3.89 KB, created by
James Bruck
on 2008-04-14 15:25:38 EDT
(
hide
)
Description:
RTL re-enabled
Filename:
MIME Type:
Creator:
James Bruck
Created:
2008-04-14 15:25:38 EDT
Size:
3.89 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.gmf.runtime.diagram.ui.printing.render >Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/internal/JPSDiagramPrinter.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.diagram.ui.printing.render/src/org/eclipse/gmf/runtime/diagram/ui/printing/render/internal/JPSDiagramPrinter.java,v >retrieving revision 1.5 >diff -u -r1.5 JPSDiagramPrinter.java >--- src/org/eclipse/gmf/runtime/diagram/ui/printing/render/internal/JPSDiagramPrinter.java 4 Apr 2008 20:34:33 -0000 1.5 >+++ src/org/eclipse/gmf/runtime/diagram/ui/printing/render/internal/JPSDiagramPrinter.java 14 Apr 2008 19:02:06 -0000 >@@ -82,12 +82,14 @@ > import org.eclipse.jface.dialogs.MessageDialog; > import org.eclipse.jface.preference.IPreferenceStore; > import org.eclipse.jface.resource.JFaceResources; >+import org.eclipse.swt.SWT; > import org.eclipse.swt.graphics.FontData; > import org.eclipse.swt.graphics.GC; > import org.eclipse.swt.graphics.Image; > import org.eclipse.swt.graphics.Point; > import org.eclipse.swt.widgets.Display; > import org.eclipse.swt.widgets.Shell; >+import org.eclipse.ui.PlatformUI; > > /** > * This class supports printing using the Java Print Service API. The logic of >@@ -374,11 +376,12 @@ > try { > printGraphics.setClip(0, 0, (int) pageFormat.getWidth(), > (int) pageFormat.getHeight()); >+ > swtGraphics = new PrinterGraphicsToGraphics2DAdapter( > (java.awt.Graphics2D) printGraphics, new Rectangle(0, 0, > (int) pageFormat.getWidth(), (int) pageFormat > .getHeight())); >- >+ > graphics = createMapModeGraphics(createPrinterGraphics(swtGraphics)); > graphics.scale(AWT_DPI_CONST / display_dpi.x); > drawPage(pages[pageIndex]); >@@ -547,12 +550,45 @@ > * indicates which page to print. > */ > protected void drawPage(PageData page) { >+ > this.graphics.pushState(); > >- internalDrawPage(page.diagram, page.bounds, page.preferences, >- page.margins, graphics, page.row, page.column, false); >+ int shellStyle = PlatformUI.getWorkbench().getActiveWorkbenchWindow() >+ .getShell().getStyle(); >+ boolean rtlEnabled = (shellStyle & SWT.MIRRORED) != 0; >+ >+ if (rtlEnabled) { >+ >+ org.eclipse.draw2d.geometry.Point pageSize = PageInfoHelper >+ .getPageSize(page.preferences, false, getMapMode()); >+ >+ Image image = new Image(Display.getDefault(), getMapMode().LPtoDP( >+ pageSize.x), getMapMode().LPtoDP(pageSize.y)); >+ >+ GC imgGC = new GC(image, SWT.RIGHT_TO_LEFT); >+ SWTGraphics tempSWTGraphic = new SWTGraphics(imgGC); >+ ScaledGraphics tempScaledGraphic = new ScaledGraphics(tempSWTGraphic); >+ MapModeGraphics tempMapModeGraphic = createMapModeGraphics(tempScaledGraphic); >+ >+ imgGC.setFont(tempMapModeGraphic.getFont()); >+ >+ internalDrawPage(page.diagram, page.bounds, page.preferences, >+ page.margins, tempMapModeGraphic, page.row, page.column, true); >+ >+ this.graphics.drawImage(image, 0, 0); >+ >+ tempMapModeGraphic.dispose(); >+ tempScaledGraphic.dispose(); >+ tempSWTGraphic.dispose(); >+ imgGC.dispose(); >+ image.dispose(); >+ >+ } else { >+ >+ internalDrawPage(page.diagram, page.bounds, page.preferences, >+ page.margins, graphics, page.row, page.column, false); >+ } > >- // TODO: Re-enable printing of header and footer in phase 2 > this.graphics.popState(); > } > >@@ -584,8 +620,7 @@ > int scaledHeight = (int) (height / userScale); > > if (RTL_ENABLED) { >- scaledTranslateX += (margins.left * (colIndex - 1)) >- + (margins.right * (colIndex)); >+ scaledTranslateX += (margins.left * (colIndex - 1)) + (margins.right * (colIndex)); > scaledTranslateY += ((margins.top * rowIndex) + (margins.bottom * (rowIndex - 1))); > } else { > scaledTranslateX += ((margins.left * colIndex) + (margins.right * (colIndex - 1)));
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 227006
:
95973