MBS LCMS2 Plugin Documentation
Total Page:16
File Type:pdf, Size:1020Kb
MBS LCMS2 Plugin Documentation Christian Schmitz July 16, 2017 2 0.1 Introduction This is the PDF version of the documentation for the Xojo (Real Studio) Plug-in from Monkeybread Software Germany. Plugin part: MBS LCMS2 Plugin 0.2 Content • 1 List of all topics 3 • 2 List of all classes 33 • 3 List of all interfaces 35 • 4 List of all modules 37 • 5 All items in this plugin 39 • 6 List of Questions in the FAQ 275 • 7 The FAQ 285 Chapter 1 List of Topics • 5 LCMS2 39 { 5.1.1 class LCMS2BitmapMBS 39 ∗ 5.1.3 Constructor 39 ∗ 5.1.4 Constructor(p as picture, bits as Integer = 8) 40 ∗ 5.1.5 Constructor(p as picture, left as Integer, top as Integer, width as Integer, height as Integer, bits as Integer = 8) 40 ∗ 5.1.6 Constructor(width as Integer, height as Integer, colorspace as Integer) 41 ∗ 5.1.7 Constructor(width as Integer, height as Integer, colorspace as Integer, RowBytes as Integer) 41 ∗ 5.1.8 Constructor(width as Integer, height as Integer, colorspace as Integer, RowBytes as Integer, data as memoryblock) 42 ∗ 5.1.9 CopyToPicture(pic as picture, x as Integer = 0, y as Integer = 0) as boolean 42 ∗ 5.1.10 Invert 43 ∗ 5.1.11 Picture(HasAlpha as Boolean = false) as picture 43 ∗ 5.1.13 Bits as Integer 43 ∗ 5.1.14 ColorSpaceType as Integer 44 ∗ 5.1.15 Data as MemoryBlock 44 ∗ 5.1.16 Height as Integer 44 ∗ 5.1.17 RowBytes as Integer 44 ∗ 5.1.18 Width as Integer 45 { 5.2.1 class LCMS2CIECAM02MBS 46 ∗ 5.2.3 Constructor(context as LCMS2ContextMBS, VC as LCMS2ViewingConditionsMBS) 46 ∗ 5.2.4 Forward(value as LCMS2CIEXYZMBS) as LCMS2JChMBS 46 ∗ 5.2.5 Reverse(value as LCMS2JChMBS) as LCMS2CIEXYZMBS 47 ∗ 5.2.7 Handle as Integer 47 { 5.3.1 class LCMS2CIELabMBS 48 ∗ 5.3.3 BFDdeltaE(Other as LCMS2CIELabMBS) as Double 48 3 4 CHAPTER 1. LIST OF TOPICS ∗ 5.3.4 CIE2000DeltaE(Other as LCMS2CIELabMBS, Kl as Double = 1.0, Kc as Double = 1.0, Kh as Double = 1.0) as Double 48 ∗ 5.3.5 CIE94DeltaE(Other as LCMS2CIELabMBS) as Double 48 ∗ 5.3.6 Clone as LCMS2CIELabMBS 49 ∗ 5.3.7 CMCdeltaE(Other as LCMS2CIELabMBS, l as Double, c as Double) as Double 49 ∗ 5.3.8 Constructor(L as Double=0.0, a as Double=0.0, b as Double=0.0) 49 ∗ 5.3.9 Constructor(other as LCMS2CIELabMBS) 49 ∗ 5.3.10 DeltaE(Other as LCMS2CIELabMBS) as Double 50 ∗ 5.3.11 DesaturateLab(amax as Double, amin as Double, bmax as Double, bmin as Double) as Boolean 50 ∗ 5.3.12 XYZ(whitePoint as LCMS2CIEXYZMBS=nil) as LCMS2CIEXYZMBS 51 ∗ 5.3.14 A as Double 51 ∗ 5.3.15 B as Double 51 ∗ 5.3.16 L as Double 51 ∗ 5.3.17 LCh as LCMS2CIELChMBS 51 { 5.4.1 class LCMS2CIELChMBS 52 ∗ 5.4.3 Clone as LCMS2CIELChMBS 52 ∗ 5.4.4 Constructor(L as Double=0.0, C as Double=0.0, h as Double=0.0) 52 ∗ 5.4.5 Constructor(other as LCMS2CIELChMBS) 52 ∗ 5.4.7 C as Double 52 ∗ 5.4.8 h as Double 53 ∗ 5.4.9 L as Double 53 ∗ 5.4.10 Lab as LCMS2CIELabMBS 53 { 5.5.1 class LCMS2CIExyYMBS 54 ∗ 5.5.3 Clone as LCMS2CIExyYMBS 54 ∗ 5.5.4 Constructor(other as LCMS2CIExyYMBS) 54 ∗ 5.5.5 Constructor(X as Double=0.0, Y as Double=0.0, YY as Double=0.0) 54 ∗ 5.5.6 TempFromWhitePoint as Double 54 ∗ 5.5.8 x as Double 55 ∗ 5.5.9 XYZ as LCMS2CIEXYZMBS 55 ∗ 5.5.10 y as Double 55 ∗ 5.5.11 YY as Double 55 { 5.6.1 class LCMS2CIExyYTripleMBS 57 ∗ 5.6.3 Clone as LCMS2CIExyYTripleMBS 57 ∗ 5.6.4 Constructor 57 ∗ 5.6.5 Constructor(other as LCMS2CIExyYTripleMBS) 57 ∗ 5.6.6 Constructor(Red as LCMS2CIExyYMBS, Green as LCMS2CIExyYMBS, Blue as LCMS2CIExyYMBS) 57 ∗ 5.6.8 Blue as LCMS2CIExyYMBS 58 ∗ 5.6.9 Green as LCMS2CIExyYMBS 58 ∗ 5.6.10 Red as LCMS2CIExyYMBS 58 5 { 5.7.1 class LCMS2CIEXYZMBS 59 ∗ 5.7.3 Constructor(x as Double=0.0, y as Double=0.0, z as Double=0.0) 59 ∗ 5.7.4 Lab(whitePoint as LCMS2CIEXYZMBS=nil) as LCMS2CIELabMBS 59 ∗ 5.7.6 x as Double 59 ∗ 5.7.7 xyY as LCMS2CIExyYMBS 59 ∗ 5.7.8 y as Double 60 ∗ 5.7.9 z as Double 60 { 5.8.1 class LCMS2CIEXYZTripleMBS 61 ∗ 5.8.3 Clone as LCMS2CIEXYZTripleMBS 61 ∗ 5.8.4 Constructor 61 ∗ 5.8.5 Constructor(other as LCMS2CIEXYZTripleMBS) 61 ∗ 5.8.6 Constructor(Red as LCMS2CIEXYZMBS, Green as LCMS2CIEXYZMBS, Blue as LCMS2CIEXYZMBS) 61 ∗ 5.8.8 Blue as LCMS2CIEXYZMBS 62 ∗ 5.8.9 Green as LCMS2CIEXYZMBS 62 ∗ 5.8.10 Red as LCMS2CIEXYZMBS 62 { 5.9.1 class LCMS2ContextMBS 63 ∗ 5.9.3 Clone as LCMS2ContextMBS 63 ∗ 5.9.4 Constructor(other as LCMS2ContextMBS) 63 ∗ 5.9.5 Constructor(tag as Variant = nil) 63 ∗ 5.9.7 Handle as Integer 63 ∗ 5.9.8 Tag as Variant 64 { 5.10.1 class LCMS2CurveSegmentMBS 65 ∗ 5.10.3 Constructor(nGridPoints as Integer = 0) 65 ∗ 5.10.5 nGridPoints as UInt32 65 ∗ 5.10.6 Type as Integer 65 ∗ 5.10.7 x0 as Single 65 ∗ 5.10.8 x1 as Single 66 ∗ 5.10.9 Params(index as Integer) as Double 66 ∗ 5.10.10 SampledPoints(index as Integer) as Single 66 { 5.11.1 class LCMS2DateMBS 67 ∗ 5.11.3 date as date 67 ∗ 5.11.5 Day as Integer 67 ∗ 5.11.6 Daylight as Integer 67 ∗ 5.11.7 DayOfWeek as Integer 67 ∗ 5.11.8 DayOfYear as Integer 67 ∗ 5.11.9 Hour as Integer 68 ∗ 5.11.10 Minute as Integer 68 ∗ 5.11.11 Month as Integer 68 ∗ 5.11.12 Second as Integer 68 ∗ 5.11.13 Year as Integer 68 6 CHAPTER 1. LIST OF TOPICS { 5.12.1 class LCMS2DictionaryEntryMBS 69 ∗ 5.12.3 Constructor 69 ∗ 5.12.4 NextEntry as LCMS2DictionaryEntryMBS 69 ∗ 5.12.6 DisplayName as LCMS2MLUMBS 69 ∗ 5.12.7 DisplayValue as LCMS2MLUMBS 70 ∗ 5.12.8 Handle as Integer 70 ∗ 5.12.9 Name as String 70 ∗ 5.12.10 Parent as LCMS2DictionaryMBS 70 ∗ 5.12.11 Value as String 71 { 5.13.1 class LCMS2DictionaryMBS 72 ∗ 5.13.3 AddEntry(Name as String, Value as String, DisplayName as LCMS2MLUMBS, Dis- playValue as LCMS2MLUMBS) as boolean 72 ∗ 5.13.4 Constructor(context as LCMS2ContextMBS = nil) 72 ∗ 5.13.5 EntryList as LCMS2DictionaryEntryMBS 73 ∗ 5.13.7 context as LCMS2ContextMBS 73 ∗ 5.13.8 Handle as Integer 73 { 5.14.1 class LCMS2GamutBoundaryDescriptionMBS 74 ∗ 5.14.3 AddPoint(Lab as LCMS2CIELabMBS) as Boolean 75 ∗ 5.14.4 CheckPoint(Lab as LCMS2CIELabMBS) as Boolean 75 ∗ 5.14.5 Compute(options as UInt32 = 0) as Boolean 75 ∗ 5.14.6 Constructor(context as LCMS2ContextMBS = nil) 76 ∗ 5.14.8 context as LCMS2ContextMBS 76 ∗ 5.14.9 Handle as Integer 76 { 5.15.1 class LCMS2ICCDataMBS 77 ∗ 5.15.3 Data as Memoryblock 77 ∗ 5.15.4 Flags as UInt32 77 ∗ 5.15.5 Size as UInt32 77 { 5.16.1 class LCMS2ICCMeasurementConditionsMBS 78 ∗ 5.16.3 Constructor(Observer as UInt32 = 0, Backing as LCMS2CIEXYZMBS = nil, Geometry as UInt32 = 0, Flare as Double = 0.0, IlluminantType as UInt32 = 0) 78 ∗ 5.16.5 Backing as LCMS2CIEXYZMBS 78 ∗ 5.16.6 Flare as Double 78 ∗ 5.16.7 Geometry as UInt32 78 ∗ 5.16.8 IlluminantType as UInt32 79 ∗ 5.16.9 Observer as UInt32 79 { 5.17.1 class LCMS2ICCViewingConditionsMBS 80 ∗ 5.17.3 Constructor(IlluminantXYZ as LCMS2CIEXYZMBS = nil, Backing as LCMS2CIEXYZMBS = nil, IlluminantType as UInt32 = 0) 80 ∗ 5.17.5 IlluminantType as UInt32 80 ∗ 5.17.6 IlluminantXYZ as LCMS2CIEXYZMBS 80 ∗ 5.17.7 SurroundXYZ as LCMS2CIEXYZMBS 80 7 { 5.18.1 class LCMS2IT8MBS 81 ∗ 5.18.3 Constructor(context as LCMS2ContextMBS = nil) 81 ∗ 5.18.4 DefineDblFormat(Formatter as string) 81 ∗ 5.18.5 EnumDataFormat as string() 81 ∗ 5.18.6 EnumProperties as string() 82 ∗ 5.18.7 EnumPropertyMulti(Prop as string) as string() 82 ∗ 5.18.8 FindDataFormat(Sample as string) as Integer 82 ∗ 5.18.9 GetData(Patch as string, Sample as string) as string 82 ∗ 5.18.10 GetDataAsDouble(Patch as string, Sample as string) as Double 82 ∗ 5.18.11 GetDataRowCol(Row as Integer, Col as Integer) as string 83 ∗ 5.18.12 GetDataRowColAsDouble(Row as Integer, Col as Integer) as Double 83 ∗ 5.18.13 GetPatchByName(Patch as string) as Integer 83 ∗ 5.18.14 GetPatchName(nPatch as Integer) as string 83 ∗ 5.18.15 GetProperty(Prop as string) as string 84 ∗ 5.18.16 GetPropertyAsDouble(Prop as string) as Double 84 ∗ 5.18.17 GetPropertyMulti(Key as string, SubKey as string) as string 84 ∗ 5.18.18 GetSheetType as string 84 ∗ 5.18.19 HeaderIsDictionary(HeaderName as string) as boolean 85 ∗ 5.18.20 HeaderList as string() 85 ∗ 5.18.21 HeadersAsDictionary as dictionary 85 ∗ 5.18.22 HeaderSubDictionary(HeaderName as string) as dictionary 85 ∗ 5.18.23 HeaderValue(HeaderName as string) as string 85 ∗ 5.18.24 LoadFromFile(context as LCMS2ContextMBS, file as folderitem) as LCMS2IT8MBS 86 ∗ 5.18.25 LoadFromMemory(context as LCMS2ContextMBS, data as Memoryblock) as LCMS2IT8MBS 86 ∗ 5.18.26 LoadFromString(context as LCMS2ContextMBS, data as string) as LCMS2IT8MBS 86 ∗ 5.18.27 SaveToFile(file as folderitem) as boolean 86 ∗ 5.18.28 SaveToMemory as Memoryblock 87 ∗ 5.18.29 SaveToString as string 87 ∗ 5.18.30 SetComment(comment as string) as boolean 87 ∗ 5.18.31 SetData(Patch as string, Sample as string, Val as string) as boolean 87 ∗ 5.18.32 SetDataAsDouble(Patch as string, Sample as string, Val as Double) as boolean 88 ∗ 5.18.33 SetDataFormat(n as Integer, Sample as String) as boolean 88 ∗ 5.18.34 SetDataRowCol(Row as Integer, Col as Integer, Val as string) as boolean 88 ∗ 5.18.35 SetDataRowColAsDouble(Row as Integer, Col as Integer, Val as Double) as boolean 89 ∗ 5.18.36 SetIndexColumn(Sample as string) as boolean 89 ∗ 5.18.37 SetPropertyDouble(Prop as string, Value as Double) as boolean 89 ∗ 5.18.38 SetPropertyHex(Prop as string, Value as UInt32) as boolean 89 ∗ 5.18.39 SetPropertyMulti(Key as string, SubKey as string, Value as string) as boolean 90 8 CHAPTER 1.