Class RGB16ColorDataType
- All Implemented Interfaces:
ArrayStringable,BuiltInDataType,DataType,ExtensionPoint
RGB16ColorDataType provides a base implementation for 16-bit RGB Color values.
While this base implementation defaults to RGB_565 encoding a TypeDef
may be established with a different 16-bit encoding specified via a default setting of
RGB16EncodingSettingsDefinition.-
Nested Class Summary
Nested classes/interfaces inherited from class ghidra.program.model.data.AbstractColorDataType
AbstractColorDataType.ComponentValue -
Field Summary
FieldsFields inherited from class ghidra.program.model.data.AbstractIntegerDataType
ENDIAN, MNEMONIC, PADDING, SETTINGS_DEFS, TYPEDEF_SETTINGS_DEFSFields inherited from class ghidra.program.model.data.DataTypeImpl
defaultSettingsFields inherited from class ghidra.program.model.data.AbstractDataType
categoryPath, dataMgr, EMPTY_TYPEDEF_DEFINITIONS, nameFields inherited from interface ghidra.program.model.data.DataType
CONFLICT_SUFFIX, DEFAULT, NO_LAST_CHANGE_TIME, NO_SOURCE_SYNC_TIME, TYPEDEF_ATTRIBUTE_PREFIX, TYPEDEF_ATTRIBUTE_SUFFIX, VOID -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone(DataTypeManager dtm) Returns an instance of this DataType using the specifiedDataTypeManagerto allow its use of the correspondingDataOrganizationwhile retaining its unique identity (seeDataType.getUniversalID()and archive association (seeDataType.getSourceArchive()) if applicable.static TypedefDataTypecreateRGB16Typedef(RGB16EncodingSettingsDefinition.RGB16Encoding rgb16Encoding) Generate a 16-bit RGB typedef with a specific encodingprotected ColordecodeColor(MemBuffer buf, Settings settings) Generate theColorwhich corresponds to the memory bytes.protected List<AbstractColorDataType.ComponentValue> getComponentValues(MemBuffer buf, Settings settings) Get a String briefly describing this DataType.protected StringgetEncodingName(Settings settings) intGet the length of this DataType as a number of 8-bit bytes.Get the list of all settings definitions for this datatype that may be used for an associatedTypeDef.Methods inherited from class ghidra.program.model.data.AbstractColorDataType
getFieldValue, getOppositeSignednessDataType, getRepresentation, getValue, getValueClass, scaleFieldValueMethods inherited from class ghidra.program.model.data.AbstractUnsignedIntegerDataType
isSignedMethods inherited from class ghidra.program.model.data.AbstractIntegerDataType
castValueToEncode, encodeRepresentation, encodeValue, getArrayDefaultLabelPrefix, getArrayDefaultOffcutLabelPrefix, getAssemblyMnemonic, getBitCount, getBuiltInSettingsDefinitions, getCDeclaration, getCMnemonic, getDefaultLabelPrefix, getFormatSettingsDefinition, getMnemonic, getSignedDataType, getSignedDataTypes, getUnsignedDataType, getUnsignedDataTypes, hasStringValue, isEncodable, isEquivalentMethods inherited from class ghidra.program.model.data.BuiltIn
addParent, copy, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getDecompilerDisplayName, getLastChangeTime, getSettingsDefinitions, getUniversalID, removeParent, setDefaultSettingsMethods inherited from class ghidra.program.model.data.DataTypeImpl
equals, getAlignedLength, getAlignment, getDefaultSettings, getLastChangeTimeInSourceArchive, getParents, getSourceArchive, hashCode, notifyAlignmentChanged, notifyDeleted, notifyNameChanged, notifyParents, notifyReplaced, notifySizeChanged, replaceWith, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setSourceArchiveMethods inherited from class ghidra.program.model.data.AbstractDataType
dataTypeAlignmentChanged, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getCategoryPath, getDataOrganization, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDisplayName, getName, getPathName, hasLanguageDependantLength, isDeleted, isNotYetDefined, isZeroLength, setCategoryPath, setName, setNameAndCategory, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface ghidra.program.model.data.ArrayStringable
getArrayStringMethods inherited from interface ghidra.program.model.data.DataType
addParent, copy, dataTypeAlignmentChanged, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getAlignedLength, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDefaultSettings, getDisplayName, getLastChangeTime, getLastChangeTimeInSourceArchive, getName, getParents, getPathName, getSettingsDefinitions, getSourceArchive, getUniversalID, hasLanguageDependantLength, isDeleted, isNotYetDefined, isZeroLength, removeParent, replaceWith, setCategoryPath, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setName, setNameAndCategory, setSourceArchive
-
Field Details
-
datatype
-
-
Constructor Details
-
RGB16ColorDataType
public RGB16ColorDataType() -
RGB16ColorDataType
-
-
Method Details
-
createRGB16Typedef
public static TypedefDataType createRGB16Typedef(RGB16EncodingSettingsDefinition.RGB16Encoding rgb16Encoding) Generate a 16-bit RGB typedef with a specific encoding- Parameters:
rgb16Encoding- 16-bit RGB encoding- Returns:
- RGB16 typedef
-
clone
Description copied from interface:DataTypeReturns an instance of this DataType using the specifiedDataTypeManagerto allow its use of the correspondingDataOrganizationwhile retaining its unique identity (seeDataType.getUniversalID()and archive association (seeDataType.getSourceArchive()) if applicable.This instance will be returned if this datatype's DataTypeManager matches the specified dtm. The recursion depth of a clone will stop on any datatype whose
DataTypeManagermatches the specified dtm and simply use the existing datatype instance.NOTE: In general, this method should not be used to obtain an instance to be modified. In most cases changes may be made directly to this instance if supported or to a
DataType.copy(DataTypeManager)of this type.- Parameters:
dtm- the data-type manager instance whose data-organization should apply.- Returns:
- cloned instance which may be the same as this instance
-
getLength
public int getLength()Description copied from interface:DataTypeGet the length of this DataType as a number of 8-bit bytes.For primitive datatypes this reflects the smallest varnode which can be used to contain its value (i.e., raw data length).
Example: For x86 32-bit gcc an 80-bit
long doubleraw data lengthof 10-bytes will fit within a floating point register while itsaligned-lengthof 12-bytes is used by the gcc compiler for data/array/component allocations to maintain alignment (i.e.,sizeof(long double)).NOTE: Other than the
VoidDataType, no datatype should ever return 0, even ifDataType.isZeroLength(), and onlyDynamic/FactoryDataTypedatatypes should return -1. IfDataType.isZeroLength()is true a length of 1 should be returned. Where a zero-length datatype can be handled (e.g.,Composite) theDataType.isZeroLength()method should be used.- Returns:
- the length of this DataType
-
getDescription
Description copied from interface:DataTypeGet a String briefly describing this DataType.- Returns:
- a one-liner describing this DataType.
-
getTypeDefSettingsDefinitions
Description copied from interface:DataTypeGet the list of all settings definitions for this datatype that may be used for an associatedTypeDef. When used for an associatedTypeDef, these settings will be considered during aDataType.isEquivalent(DataType)check and will be preserved during the resolve process.- Specified by:
getTypeDefSettingsDefinitionsin interfaceDataType- Overrides:
getTypeDefSettingsDefinitionsin classAbstractIntegerDataType- Returns:
- a list of the settings definitions for a
TypeDefassociated with this datatype.
-
decodeColor
Description copied from class:AbstractColorDataTypeGenerate theColorwhich corresponds to the memory bytes. Implementation must factor Endianess setting into value used.- Specified by:
decodeColorin classAbstractColorDataType- Parameters:
buf- memory bytes buffersettings- datatype settings- Returns:
- Color to be rendered
-
getEncodingName
- Specified by:
getEncodingNamein classAbstractColorDataType
-
getComponentValues
protected List<AbstractColorDataType.ComponentValue> getComponentValues(MemBuffer buf, Settings settings) - Specified by:
getComponentValuesin classAbstractColorDataType
-