From cc9e84bbb55a7f36169cf5d3a7fcc5cc119136c7 Mon Sep 17 00:00:00 2001 From: summer-alice Date: Sun, 27 Jun 2021 19:12:58 +1000 Subject: [PATCH 1/2] add org.eclipse.swt.internal.image.all --- .../src/org/eclipse/swt/internal/image/all.d | 45 +++++++++++++++++++ .../src/org/eclipse/swt/internal/image/all.d | 45 +++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/all.d create mode 100644 org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/internal/image/all.d diff --git a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/all.d b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/all.d new file mode 100644 index 00000000..8ee27e4e --- /dev/null +++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/image/all.d @@ -0,0 +1,45 @@ +module org.eclipse.swt.internal.image.all; + +public import org.eclipse.swt.internal.image.GIFFileFormat; +public import org.eclipse.swt.internal.image.JPEGAppn; +public import org.eclipse.swt.internal.image.JPEGArithmeticConditioningTable; +public import org.eclipse.swt.internal.image.JPEGComment; +public import org.eclipse.swt.internal.image.JPEGDecoder; +public import org.eclipse.swt.internal.image.JPEGEndOfImage; +public import org.eclipse.swt.internal.image.JPEGFileFormat; +public import org.eclipse.swt.internal.image.JPEGFixedSizeSegment; +public import org.eclipse.swt.internal.image.JPEGFrameHeader; +public import org.eclipse.swt.internal.image.JPEGHuffmanTable; +public import org.eclipse.swt.internal.image.JPEGQuantizationTable; +public import org.eclipse.swt.internal.image.JPEGRestartInterval; +public import org.eclipse.swt.internal.image.JPEGScanHeader; +public import org.eclipse.swt.internal.image.JPEGSegment; +public import org.eclipse.swt.internal.image.JPEGStartOfImage; +public import org.eclipse.swt.internal.image.JPEGVariableSizeSegment; +public import org.eclipse.swt.internal.image.LEDataInputStream; +public import org.eclipse.swt.internal.image.LEDataOutputStream; +public import org.eclipse.swt.internal.image.LZWCodec; +public import org.eclipse.swt.internal.image.LZWNode; +public import org.eclipse.swt.internal.image.OS2BMPFileFormat; +public import org.eclipse.swt.internal.image.PngChunk; +public import org.eclipse.swt.internal.image.PngChunkReader; +public import org.eclipse.swt.internal.image.PngDecodingDataStream; +public import org.eclipse.swt.internal.image.PngDeflater; +public import org.eclipse.swt.internal.image.PngEncoder; +public import org.eclipse.swt.internal.image.PNGFileFormat; +public import org.eclipse.swt.internal.image.PngFileReadState; +public import org.eclipse.swt.internal.image.PngHuffmanTable; +public import org.eclipse.swt.internal.image.PngHuffmanTables; +public import org.eclipse.swt.internal.image.PngIdatChunk; +public import org.eclipse.swt.internal.image.PngIendChunk; +public import org.eclipse.swt.internal.image.PngIhdrChunk; +public import org.eclipse.swt.internal.image.PngInputStream; +public import org.eclipse.swt.internal.image.PngLzBlockReader; +public import org.eclipse.swt.internal.image.PngPlteChunk; +public import org.eclipse.swt.internal.image.PngTrnsChunk; +public import org.eclipse.swt.internal.image.TIFFDirectory; +public import org.eclipse.swt.internal.image.TIFFFileFormat; +public import org.eclipse.swt.internal.image.TIFFModifiedHuffmanCodec; +public import org.eclipse.swt.internal.image.TIFFRandomFileAccess; +public import org.eclipse.swt.internal.image.WinBMPFileFormat; +public import org.eclipse.swt.internal.image.WinICOFileFormat; diff --git a/org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/internal/image/all.d b/org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/internal/image/all.d new file mode 100644 index 00000000..8ee27e4e --- /dev/null +++ b/org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/internal/image/all.d @@ -0,0 +1,45 @@ +module org.eclipse.swt.internal.image.all; + +public import org.eclipse.swt.internal.image.GIFFileFormat; +public import org.eclipse.swt.internal.image.JPEGAppn; +public import org.eclipse.swt.internal.image.JPEGArithmeticConditioningTable; +public import org.eclipse.swt.internal.image.JPEGComment; +public import org.eclipse.swt.internal.image.JPEGDecoder; +public import org.eclipse.swt.internal.image.JPEGEndOfImage; +public import org.eclipse.swt.internal.image.JPEGFileFormat; +public import org.eclipse.swt.internal.image.JPEGFixedSizeSegment; +public import org.eclipse.swt.internal.image.JPEGFrameHeader; +public import org.eclipse.swt.internal.image.JPEGHuffmanTable; +public import org.eclipse.swt.internal.image.JPEGQuantizationTable; +public import org.eclipse.swt.internal.image.JPEGRestartInterval; +public import org.eclipse.swt.internal.image.JPEGScanHeader; +public import org.eclipse.swt.internal.image.JPEGSegment; +public import org.eclipse.swt.internal.image.JPEGStartOfImage; +public import org.eclipse.swt.internal.image.JPEGVariableSizeSegment; +public import org.eclipse.swt.internal.image.LEDataInputStream; +public import org.eclipse.swt.internal.image.LEDataOutputStream; +public import org.eclipse.swt.internal.image.LZWCodec; +public import org.eclipse.swt.internal.image.LZWNode; +public import org.eclipse.swt.internal.image.OS2BMPFileFormat; +public import org.eclipse.swt.internal.image.PngChunk; +public import org.eclipse.swt.internal.image.PngChunkReader; +public import org.eclipse.swt.internal.image.PngDecodingDataStream; +public import org.eclipse.swt.internal.image.PngDeflater; +public import org.eclipse.swt.internal.image.PngEncoder; +public import org.eclipse.swt.internal.image.PNGFileFormat; +public import org.eclipse.swt.internal.image.PngFileReadState; +public import org.eclipse.swt.internal.image.PngHuffmanTable; +public import org.eclipse.swt.internal.image.PngHuffmanTables; +public import org.eclipse.swt.internal.image.PngIdatChunk; +public import org.eclipse.swt.internal.image.PngIendChunk; +public import org.eclipse.swt.internal.image.PngIhdrChunk; +public import org.eclipse.swt.internal.image.PngInputStream; +public import org.eclipse.swt.internal.image.PngLzBlockReader; +public import org.eclipse.swt.internal.image.PngPlteChunk; +public import org.eclipse.swt.internal.image.PngTrnsChunk; +public import org.eclipse.swt.internal.image.TIFFDirectory; +public import org.eclipse.swt.internal.image.TIFFFileFormat; +public import org.eclipse.swt.internal.image.TIFFModifiedHuffmanCodec; +public import org.eclipse.swt.internal.image.TIFFRandomFileAccess; +public import org.eclipse.swt.internal.image.WinBMPFileFormat; +public import org.eclipse.swt.internal.image.WinICOFileFormat; From 5d9b6ab2263042faa6d308feff13933f34306c3d Mon Sep 17 00:00:00 2001 From: summer-alice Date: Sun, 27 Jun 2021 19:13:30 +1000 Subject: [PATCH 2/2] change ImageLoader import to a .all This change is required to allow a call to Object.factory to work as intended. For such calls to work, D needs to know about the module (i.e. the symbol needs to be resolvable). This specific change is in relation to a change that will happen in the FileFormat class which will create a child of FileFormat dynamically. --- .../src/org/eclipse/swt/graphics/ImageLoader.d | 8 +++++++- .../src/org/eclipse/swt/graphics/ImageLoader.d | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/graphics/ImageLoader.d b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/graphics/ImageLoader.d index d90588d5..5e69f716 100644 --- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/graphics/ImageLoader.d +++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/graphics/ImageLoader.d @@ -23,7 +23,13 @@ public import org.eclipse.swt.graphics.ImageLoaderEvent; public import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.SWT; -import org.eclipse.swt.internal.image.FileFormat; + +/* + * DWT: Don't change this to a selective import as it's required to make a call + * to Object.factory work correctly (needs to know that the module exists). + * See: https://github.com/d-widget-toolkit/dwt/pull/105 + */ +import org.eclipse.swt.internal.image.all; version(Tango){ import tango.core.Array; diff --git a/org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/graphics/ImageLoader.d b/org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/graphics/ImageLoader.d index 921c9c41..03d415dc 100644 --- a/org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/graphics/ImageLoader.d +++ b/org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/graphics/ImageLoader.d @@ -19,7 +19,13 @@ public import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.SWT; import org.eclipse.swt.internal.Compatibility; -import org.eclipse.swt.internal.image.FileFormat; + +/* + * DWT: Don't change this to a selective import as it's required to make a call + * to Object.factory work correctly (needs to know that the module exists). + * See: https://github.com/d-widget-toolkit/dwt/pull/105 + */ +import org.eclipse.swt.internal.image.all; import java.util.Vector; import java.lang.all;