123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- /* ====================================================================
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ==================================================================== */
-
- package org.apache.poi.hemf.record.emf;
-
- import java.util.function.Supplier;
-
- import org.apache.poi.util.Internal;
-
- @Internal
- public enum HemfRecordType {
-
- header(0x00000001, HemfHeader::new),
- polyBezier(0x00000002, HemfDraw.EmfPolyBezier::new),
- polygon(0x00000003, HemfDraw.EmfPolygon::new),
- polyline(0x00000004, HemfDraw.EmfPolyline::new),
- polyBezierTo(0x00000005, HemfDraw.EmfPolyBezierTo::new),
- polylineTo(0x00000006, HemfDraw.EmfPolylineTo::new),
- polyPolyline(0x00000007, HemfDraw.EmfPolyPolyline::new),
- polyPolygon(0x00000008, HemfDraw.EmfPolyPolygon::new),
- setWindowExtEx(0x00000009, HemfWindowing.EmfSetWindowExtEx::new),
- setWindowOrgEx(0x0000000A, HemfWindowing.EmfSetWindowOrgEx::new),
- setViewportExtEx(0x0000000B, HemfWindowing.EmfSetViewportExtEx::new),
- setViewportOrgEx(0x0000000C, HemfWindowing.EmfSetViewportOrgEx::new),
- setBrushOrgEx(0x0000000D, HemfMisc.EmfSetBrushOrgEx::new),
- eof(0x0000000E, HemfMisc.EmfEof::new),
- setPixelV(0x0000000F, HemfDraw.EmfSetPixelV::new),
- setMapperFlags(0x00000010, HemfMisc.EmfSetMapperFlags::new),
- setMapMode(0x00000011, HemfMisc.EmfSetMapMode::new),
- setBkMode(0x00000012, HemfMisc.EmfSetBkMode::new),
- setPolyfillMode(0x00000013, HemfFill.EmfSetPolyfillMode::new),
- setRop2(0x00000014, HemfMisc.EmfSetRop2::new),
- setStretchBltMode(0x00000015, HemfMisc.EmfSetStretchBltMode::new),
- setTextAlign(0x00000016, HemfText.EmfSetTextAlign::new),
- setcoloradjustment(0x00000017, UnimplementedHemfRecord::new),
- setTextColor(0x00000018, HemfText.EmfSetTextColor::new),
- setBkColor(0x00000019, HemfMisc.EmfSetBkColor::new),
- setOffsetClipRgn(0x0000001A, HemfWindowing.EmfSetOffsetClipRgn::new),
- setMoveToEx(0x0000001B, HemfDraw.EmfSetMoveToEx::new),
- setmetargn(0x0000001C, UnimplementedHemfRecord::new),
- setExcludeClipRect(0x0000001D, HemfWindowing.EmfSetExcludeClipRect::new),
- setIntersectClipRect(0x0000001E, HemfWindowing.EmfSetIntersectClipRect::new),
- scaleViewportExtEx(0x0000001F, HemfWindowing.EmfScaleViewportExtEx::new),
- scaleWindowExtEx(0x00000020, HemfWindowing.EmfScaleWindowExtEx::new),
- saveDc(0x00000021, HemfMisc.EmfSaveDc::new),
- restoreDc(0x00000022, HemfMisc.EmfRestoreDc::new),
- setWorldTransform(0x00000023, HemfMisc.EmfSetWorldTransform::new),
- modifyWorldTransform(0x00000024, HemfMisc.EmfModifyWorldTransform::new),
- selectObject(0x00000025, HemfDraw.EmfSelectObject::new),
- createPen(0x00000026, HemfMisc.EmfCreatePen::new),
- createBrushIndirect(0x00000027, HemfMisc.EmfCreateBrushIndirect::new),
- deleteobject(0x00000028, HemfMisc.EmfDeleteObject::new),
- anglearc(0x00000029, UnimplementedHemfRecord::new),
- ellipse(0x0000002A, HemfDraw.EmfEllipse::new),
- rectangle(0x0000002B, HemfDraw.EmfRectangle::new),
- roundRect(0x0000002C, HemfDraw.EmfRoundRect::new),
- arc(0x0000002D, HemfDraw.EmfArc::new),
- chord(0x0000002E, HemfDraw.EmfChord::new),
- pie(0x0000002F, HemfDraw.EmfPie::new),
- selectPalette(0x00000030, HemfPalette.EmfSelectPalette::new),
- createPalette(0x00000031, HemfPalette.EmfCreatePalette::new),
- setPaletteEntries(0x00000032, HemfPalette.EmfSetPaletteEntries::new),
- resizePalette(0x00000033, HemfPalette.EmfResizePalette::new),
- realizePalette(0x0000034, HemfPalette.EmfRealizePalette::new),
- extFloodFill(0x00000035, HemfFill.EmfExtFloodFill::new),
- lineTo(0x00000036, HemfDraw.EmfLineTo::new),
- arcTo(0x00000037, HemfDraw.EmfArcTo::new),
- polyDraw(0x00000038, HemfDraw.EmfPolyDraw::new),
- setarcdirection(0x00000039, UnimplementedHemfRecord::new),
- setMiterLimit(0x0000003A, HemfMisc.EmfSetMiterLimit::new),
- beginPath(0x0000003B, HemfDraw.EmfBeginPath::new),
- endPath(0x0000003C, HemfDraw.EmfEndPath::new),
- closeFigure(0x0000003D, HemfDraw.EmfCloseFigure::new),
- fillPath(0x0000003E, HemfDraw.EmfFillPath::new),
- strokeAndFillPath(0x0000003F, HemfDraw.EmfStrokeAndFillPath::new),
- strokePath(0x00000040, HemfDraw.EmfStrokePath::new),
- flattenPath(0x00000041, HemfDraw.EmfFlattenPath::new),
- widenPath(0x00000042, HemfDraw.EmfWidenPath::new),
- selectClipPath(0x00000043, HemfWindowing.EmfSelectClipPath::new),
- abortPath(0x00000044, HemfDraw.EmfAbortPath::new),
- // no 45 ?!
- comment(0x00000046, HemfComment.EmfComment::new),
- fillRgn(0x00000047, HemfFill.EmfFillRgn::new),
- frameRgn(0x00000048, HemfFill.EmfFrameRgn::new),
- invertRgn(0x00000049, HemfFill.EmfInvertRgn::new),
- paintRgn(0x0000004A, HemfFill.EmfPaintRgn::new),
- extSelectClipRgn(0x0000004B, HemfFill.EmfExtSelectClipRgn::new),
- bitBlt(0x0000004C, HemfFill.EmfBitBlt::new),
- stretchBlt(0x0000004D, HemfFill.EmfStretchBlt::new),
- maskblt(0x0000004E, UnimplementedHemfRecord::new),
- plgblt(0x0000004F, UnimplementedHemfRecord::new),
- setDiBitsToDevice(0x00000050, HemfFill.EmfSetDiBitsToDevice::new),
- stretchDiBits(0x00000051, HemfFill.EmfStretchDiBits::new),
- extCreateFontIndirectW(0x00000052, HemfText.EmfExtCreateFontIndirectW::new),
- extTextOutA(0x00000053, HemfText.EmfExtTextOutA::new),
- extTextOutW(0x00000054, HemfText.EmfExtTextOutW::new),
- polyBezier16(0x00000055, HemfDraw.EmfPolyBezier16::new),
- polygon16(0x00000056, HemfDraw.EmfPolygon16::new),
- polyline16(0x00000057, HemfDraw.EmfPolyline16::new),
- polyBezierTo16(0x00000058, HemfDraw.EmfPolyBezierTo16::new),
- polylineTo16(0x00000059, HemfDraw.EmfPolylineTo16::new),
- polyPolyline16(0x0000005A, HemfDraw.EmfPolyPolyline16::new),
- polyPolygon16(0x0000005B, HemfDraw.EmfPolyPolygon16::new),
- polyDraw16(0x0000005C, HemfDraw.EmfPolyDraw16::new),
- createMonoBrush(0x0000005D, HemfMisc.EmfCreateMonoBrush::new),
- createDibPatternBrushPt(0x0000005E, HemfMisc.EmfCreateDibPatternBrushPt::new),
- extCreatePen(0x0000005F, HemfMisc.EmfExtCreatePen::new),
- polytextouta(0x00000060, HemfText.PolyTextOutA::new),
- polytextoutw(0x00000061, HemfText.PolyTextOutW::new),
- seticmmode(0x00000062, UnimplementedHemfRecord::new),
- createcolorspace(0x00000063, UnimplementedHemfRecord::new),
- setcolorspace(0x00000064, UnimplementedHemfRecord::new),
- deletecolorspace(0x00000065, UnimplementedHemfRecord::new),
- glsrecord(0x00000066, UnimplementedHemfRecord::new),
- glsboundedrecord(0x00000067, UnimplementedHemfRecord::new),
- pixelformat(0x00000068, UnimplementedHemfRecord::new),
- drawescape(0x00000069, UnimplementedHemfRecord::new),
- extescape(0x0000006A, UnimplementedHemfRecord::new),
- // no 6b ?!
- smalltextout(0x0000006C, UnimplementedHemfRecord::new),
- forceufimapping(0x0000006D, UnimplementedHemfRecord::new),
- namedescape(0x0000006E, UnimplementedHemfRecord::new),
- colorcorrectpalette(0x0000006F, UnimplementedHemfRecord::new),
- seticmprofilea(0x00000070, UnimplementedHemfRecord::new),
- seticmprofilew(0x00000071, UnimplementedHemfRecord::new),
- alphaBlend(0x00000072, HemfFill.EmfAlphaBlend::new),
- setlayout(0x00000073, UnimplementedHemfRecord::new),
- transparentblt(0x00000074, UnimplementedHemfRecord::new),
- // no 75 ?!
- gradientfill(0x00000076, UnimplementedHemfRecord::new),
- setlinkdufis(0x00000077, UnimplementedHemfRecord::new),
- settextjustification(0x00000078, HemfText.SetTextJustification::new),
- colormatchtargetw(0x00000079, UnimplementedHemfRecord::new),
- createcolorspacew(0x0000007A, UnimplementedHemfRecord::new);
-
-
- public final long id;
- public final Supplier<? extends HemfRecord> constructor;
-
- HemfRecordType(long id, Supplier<? extends HemfRecord> constructor) {
- this.id = id;
- this.constructor = constructor;
- }
-
- public static HemfRecordType getById(long id) {
- for (HemfRecordType wrt : values()) {
- if (wrt.id == id) return wrt;
- }
- return null;
- }
- }
|