📄 dvbsubpicture.java
字号:
id = val;
}
private int getId()
{
return id;
}
private void setVersionNumber(int val) //modulo16, if a change
{
version_number = val;
}
private int getVersionNumber()
{
return version_number;
}
private void setWriteStatus(boolean b)
{
write = b;
}
private boolean getWriteStatus()
{
return write;
}
private void setTimeIn(long val)
{
time_in = val;
}
private long getTimeIn()
{
return time_in;
}
private void setTimeOut(int val)
{
time_out = val;
}
private int getTimeOut()
{
return time_out;
}
private int[] initPixel()
{
return (pixel = new int[720 * 576]);
}
private int[] getPixel()
{
return pixel;
}
private void setState(int val)
{
state = val;
}
private int getState()
{
return state;
}
private void clearArea()
{
minX = 720;
minY = 576;
maxX = maxY = 0;
}
private void addArea(int x, int y, int w, int h)
{
int x2 = x + w;
int y2 = y + h;
minX = x < minX ? x : minX;
minY = y < minY ? y : minY;
maxX = x2 > maxX ? x2 : maxX;
maxY = y2 > maxY ? y2 : maxY;
}
private int getX()
{
return minX;
}
private int getY()
{
return minY;
}
private int getWidth()
{
return (maxX - minX);
}
private int getHeight()
{
return (maxY - minY);
}
}
class Region
{
private int id;
private int horizontal_address;
private int vertical_address;
private int version_number = -1;
private boolean fill_flag;
private boolean active = false;
private boolean changed = false;
private int width;
private int height;
private int x;
private int y;
private int level_of_compatibility;
private int depth;
private int CLUT_id;
private int pixel_code_8bit;
private int pixel_code_4bit;
private int pixel_code_2bit;
private int pixel[];
//DM23062004 081.7 int05 add
private int error = 0;
private Region()
{}
private Region(int val)
{
id = val;
}
private void setId(int val)
{
id = val;
}
private int getId()
{
return id;
}
private void setHorizontalAddress(int val)
{
horizontal_address = val;
x = 0;
}
private void setVerticalAddress(int val)
{
vertical_address = val;
y = 0;
}
private void setVersionNumber(int val) //modulo16, if a change
{
version_number = val;
}
private int getVersionNumber()
{
return version_number;
}
private int[] initPixel()
{
return (pixel = new int[width * height]);
}
private int[] getPixel()
{
return pixel;
}
private void setFillFlag(int val) // fill background with color of region_pixel_code_xbit index
{
fill_flag = val != 0 ? true : false;
}
private boolean getFillFlag()
{
return fill_flag;
}
private void setActive(boolean b)
{
active = b;
}
private boolean isActive()
{
return active;
}
private void setWidth(int val) //max 720, if h_address =1
{
width = val;
}
private int getWidth()
{
return width;
}
private void setHeight(int val) //max 576, if v_address =1
{
height = val;
}
private int getHeight()
{
return height;
}
private void setLevelOfCompatibility(int val) //1,2,3 = 2,4,8bit supported colors by IRD, X can use all :)
{
level_of_compatibility = val;
}
private int getCompatibility()
{
return level_of_compatibility;
}
private void setDepth(int val) //1,2,3 = 2,4,8bit pixel depth
{
depth = 1<<val;
}
private int getDepth()
{
return depth;
}
private void setCLUT_id(int val)
{
CLUT_id = val;
}
private void setPixelCode_8bit(int val) //see fillflag, backgr CLUT entry
{
pixel_code_8bit = val;
}
private void setPixelCode_4bit(int val) //see fillflag, backgr CLUT entry
{
pixel_code_4bit = val;
}
private void setPixelCode_2bit(int val) //see fillflag, backgr CLUT entry
{
pixel_code_2bit = val;
}
private int getPixelCode_8bit()
{
return pixel_code_8bit;
}
private int getPixelCode_4bit()
{
return pixel_code_4bit;
}
private int getPixelCode_2bit()
{
return pixel_code_2bit;
}
private int getXBound()
{
return horizontal_address;
}
private int getYBound()
{
return vertical_address;
}
private int getX(int x_len)
{
int nx = x;
x += x_len;
return nx;
}
private int getY()
{
return y;
}
private void nextLine()
{
x = 0;
y += 2;
}
private void nextField()
{
x = 0;
y = 1;
}
private void resetXY()
{
x = 0;
y = 0;
}
private void setChanged(boolean b)
{
changed = b;
}
private boolean isChanged()
{
return changed;
}
//DM23062004 081.7 int05 add
private int getErrors()
{
return error;
}
//DM23062004 081.7 int05 add
private void setError(int val)
{
error |= val;
if (val == 0)
error = 0;
}
}
class CLUT
{
private int id;
private int version_number = -1;
private int modify_flags = 0;
private final int default_CLUT_2bit[] = {
0, 0xFFFFFFFF, 0xFF000000, 0xFF808080
};
private final int default_CLUT_4bit[] = {
0, 0xFFFF0000, 0xFF00FF00, 0xFFFFFF00, 0xFF0000FF, 0xFFFF00FF,
0xFF00FFFF, 0xFFFFFFFF, 0xFF000000, 0xFF800000, 0xFF008000,
0xFF808000, 0xFF000080, 0xFF800080, 0xFF008080, 0xFF808080
};
private final int default_CLUT_8bit[] = table_CLUT_8bit;
private int CLUT_2bit[];
private int CLUT_4bit[];
private int CLUT_8bit[];
private CLUT()
{
init(0);
}
private CLUT(int val)
{
init(val);
}
private void init(int val)
{
id = val;
CLUT_2bit = default_CLUT_2bit;
CLUT_4bit = default_CLUT_4bit;
CLUT_8bit = default_CLUT_8bit;
}
private void setId(int val)
{
id = val;
}
private int getId()
{
return id;
}
private void setVersionNumber(int val) //modulo16, if a change
{
version_number = val;
}
private int getVersionNumber()
{
return version_number;
}
private int[] getCLUT_2bit()
{
return CLUT_2bit;
}
private int[] getCLUT_4bit()
{
return CLUT_4bit;
}
private int[] getCLUT_8bit()
{
return CLUT_8bit;
}
private void setClutEntry(int index, int flag, int ARGB)
{
if ((flag & 8) != 0)
CLUT_8bit[index] = ARGB;
else if ((flag & 4) != 0)
CLUT_4bit[index] = ARGB;
else if ((flag & 2) != 0)
CLUT_2bit[index] = ARGB;
modify_flags |= flag;
}
private int getModifyFlags()
{
return modify_flags;
}
}
class OBJECT
{
private int id;
private int version_number = -1;
private int type;
private int region_id = -1;
private int provider_flag;
private int horizontal_position;
private int vertical_position;
private int foreground_pixel_code;
private int background_pixel_code;
private boolean non_modifying_color_flag;
private boolean copy_top_field_flag;
private final int default_map_table_2to4bit[] = { 0, 7, 8, 0xF };
private final int default_map_table_2to8bit[] = { 0, 0x77, 0x88, 0xFF };
private final int default_map_table_4to8bit[] = {
0, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF
};
private int map_table_2to4bit[];
private int map_table_2to8bit[];
private int map_table_4to8bit[];
private Hashtable regions = new Hashtable();
private OBJECT()
{
init();
}
private OBJECT(int val)
{
id = val;
init();
}
private void init()
{
map_table_2to4bit = default_map_table_2to4bit;
map_table_2to8bit = default_map_table_2to8bit;
map_table_4to8bit = default_map_table_4to8bit;
}
private void setId(int val)
{
id = val;
}
private int getId()
{
return id;
}
private void setType(int val)
{
type = val;
}
private int getType() //0 bitmap,1 char, 2 chars
{
return type;
}
private void setProvider(int val) //0 def. in stream, 1 read from ROM, 2+3 res.
{
provider_flag = val;
}
private void setHorizontalPosition(int val)
{
horizontal_position = val;
}
private int getHorizontalPosition()
{
return horizontal_position;
}
private void setVerticalPosition(int val)
{
vertical_position = val;
}
private int getVerticalPosition()
{
return vertical_position;
}
private void setForegroundCode(int val) // color entry in 8bit CLUT
{
foreground_pixel_code = val;
}
private void setBackgroundCode(int val) // color entry in 8bit CLUT
{
background_pixel_code = val;
}
private void setVersionNumber(int val) //modulo16, if a change
{
version_number = val;
}
private int getVersionNumber()
{
return version_number;
}
private void setNonModify(int val) // pixel with CLUT color entry 1 = dont overwrite it
{
non_modifying_color_flag = val != 0 ? true : false;
}
private void setCopyTopFieldFlag(int val) // bottomfield isn't transmitted, so copy topfield
{
copy_top_field_flag = val == 0 ? true : false;
}
private boolean getCopyTopFieldFlag()
{
return copy_top_field_flag;
}
private void setMapTable_2to4bit(int i, int val)
{
map_table_2to4bit[i] = val;
}
private void setMapTable_2to8bit(int i, int val)
{
map_table_2to8bit[i] = val;
}
private void setMapTable_4to8bit(int i, int val)
{
map_table_4to8bit[i] = val;
}
private int[] getMapTable_2to4bit()
{
return map_table_2to4bit;
}
private int[] getMapTable_2to8bit()
{
return map_table_2to8bit;
}
private int[] getMapTable_4to8bit()
{
return map_table_4to8bit;
}
private void setRegionId(int val)
{
region_id = val;
}
private int getRegionId()
{
return region_id;
}
private void resetRegionId()
{
region_id = -1;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -