changes for shack layout element
git-svn-id: svn://10.0.0.236/trunk@1455 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -2103,6 +2103,11 @@ lo_update_embedded_object_window(CL_Layer *layer)
|
||||
case LO_EMBED:
|
||||
FE_DisplayEmbed(context, FE_VIEW, &tptr->lo_embed);
|
||||
break;
|
||||
#ifdef SHACK
|
||||
case LO_BUILTIN:
|
||||
FE_DisplayBuiltin(context, FE_VIEW, &tptr->lo_builtin);
|
||||
break;
|
||||
#endif /* SHACK */
|
||||
#ifdef JAVA
|
||||
case LO_JAVA:
|
||||
FE_DisplayJavaApp(context, FE_VIEW, &tptr->lo_java);
|
||||
@@ -2155,6 +2160,12 @@ lo_window_layer_visibility_changed(CL_Layer *layer,
|
||||
tptr->lo_embed.ele_attrmask &= ~LO_ELE_INVISIBLE;
|
||||
tptr->lo_embed.ele_attrmask |= LO_ELE_INVISIBLE * !visible;
|
||||
break;
|
||||
#ifdef SHACK
|
||||
case LO_BUILTIN:
|
||||
tptr->lo_builtin.ele_attrmask &= ~LO_ELE_INVISIBLE;
|
||||
tptr->lo_builtin.ele_attrmask |= LO_ELE_INVISIBLE * !visible;
|
||||
break;
|
||||
#endif /* SHACK */
|
||||
#ifdef JAVA
|
||||
case LO_JAVA:
|
||||
tptr->lo_java.ele_attrmask &= ~LO_ELE_INVISIBLE;
|
||||
|
||||
@@ -277,8 +277,8 @@ lo_FormatObject(MWContext* context, lo_DocState* state, PA_Tag* tag)
|
||||
if (XP_STRNCASECMP(str, "builtin", 7) == 0)
|
||||
{
|
||||
if (type == LO_NONE)
|
||||
type = LO_EMBED;
|
||||
else if (type != LO_EMBED)
|
||||
type = LO_BUILTIN;
|
||||
else if (type != LO_BUILTIN)
|
||||
type = LO_UNKNOWN;
|
||||
}
|
||||
#endif /* SHACK */
|
||||
@@ -322,6 +322,12 @@ lo_FormatObject(MWContext* context, lo_DocState* state, PA_Tag* tag)
|
||||
{
|
||||
object->lo_element.type = LO_EMBED;
|
||||
}
|
||||
#ifdef SHACK
|
||||
else if (type == LO_BUILTIN)
|
||||
{
|
||||
object->lo_element.type = LO_BUILTIN;
|
||||
}
|
||||
#endif
|
||||
#ifdef JAVA
|
||||
else if (type == LO_JAVA)
|
||||
{
|
||||
@@ -857,6 +863,23 @@ lo_ProcessObjectTag(MWContext* context, lo_DocState* state, PA_Tag* tag, XP_Bool
|
||||
top->param_names = NULL;
|
||||
top->param_values = NULL;
|
||||
}
|
||||
#ifdef SHACK
|
||||
else if (object->lo_element.type == LO_BUILTIN)
|
||||
{
|
||||
lo_FormatBuiltinObject(context,
|
||||
state,
|
||||
top->clone_tag,
|
||||
(LO_BuiltinStruct*) object,
|
||||
FALSE, /* Stream not started */
|
||||
top->param_count,
|
||||
top->param_names,
|
||||
top->param_values);
|
||||
top->formatted_object = TRUE;
|
||||
top->param_count = 0;
|
||||
top->param_names = NULL;
|
||||
top->param_values = NULL;
|
||||
}
|
||||
#endif
|
||||
#ifdef JAVA
|
||||
else if (object->lo_element.type == LO_JAVA)
|
||||
{
|
||||
|
||||
@@ -163,6 +163,10 @@ lo_InitDocLists(MWContext *context, lo_DocLists *doc_lists)
|
||||
|
||||
doc_lists->embed_list = NULL;
|
||||
doc_lists->embed_list_count = 0;
|
||||
#ifdef notyet /* SHACK */
|
||||
doc_lists->builtin_list = NULL;
|
||||
doc_lists->builtin_list_count = 0;
|
||||
#endif /* SHACK */
|
||||
doc_lists->applet_list = NULL;
|
||||
doc_lists->applet_list_count = 0;
|
||||
|
||||
@@ -7583,6 +7587,10 @@ void lo_UpdateStateWhileFlushingLine( MWContext *context, lo_DocState *state )
|
||||
layer = tptr->lo_java.layer;
|
||||
border_width = tptr->lo_java.border_width;
|
||||
break;
|
||||
case LO_BUILTIN:
|
||||
layer = tptr->lo_builtin.layer;
|
||||
border_width = tptr->lo_builtin.border_width;
|
||||
break;
|
||||
#endif
|
||||
case LO_EMBED:
|
||||
layer = tptr->lo_embed.layer;
|
||||
|
||||
@@ -1171,6 +1171,9 @@ extern Bool lo_SetNamedSpan(lo_DocState *, PA_Block);
|
||||
#endif
|
||||
|
||||
extern void lo_AddNameList(lo_DocState *, lo_DocState *);
|
||||
#ifdef SHACK
|
||||
extern void lo_DisplayBuiltin(MWContext *, LO_BuiltinStruct *);
|
||||
#endif
|
||||
extern void lo_CheckNameList(MWContext *, lo_DocState *, int32);
|
||||
extern int32 lo_StripTextWhitespace(char *, int32);
|
||||
extern int32 lo_StripTextNewlines(char *, int32);
|
||||
@@ -1226,6 +1229,10 @@ extern void lo_RegionToLines (MWContext *, lo_DocState *, int32 x, int32 y,
|
||||
uint32 width, uint32 height, Bool dontCrop,
|
||||
int32* topLine, int32* bottomLine);
|
||||
extern int32 lo_PointToLine (MWContext *, lo_DocState *, int32 x, int32 y);
|
||||
#ifdef SHACK
|
||||
extern void lo_FormatBuiltinObject(MWContext*, lo_DocState*, PA_Tag*, LO_BuiltinStruct*, Bool,
|
||||
uint32 count, char** names, char** values);
|
||||
#endif
|
||||
extern void lo_GetLineEnds(MWContext *, lo_DocState *,
|
||||
int32 line, LO_Element** retBegin, LO_Element** retEnd);
|
||||
extern void lo_CalcAlignOffsets(lo_DocState *, LO_TextInfo *, intn,
|
||||
|
||||
@@ -104,6 +104,16 @@ lo_GetElementBbox(LO_Element *element, XP_Rect *rect)
|
||||
}
|
||||
break;
|
||||
|
||||
#ifdef SHACK
|
||||
case LO_BUILTIN:
|
||||
{
|
||||
LO_BuiltinStruct *builtin = &element->lo_builtin;
|
||||
rect->right += 2 * (builtin->border_width + builtin->border_horiz_space);
|
||||
rect->bottom += 2 * (builtin->border_width + builtin->border_vert_space);
|
||||
}
|
||||
break;
|
||||
#endif /* SHACK */
|
||||
|
||||
#ifdef JAVA
|
||||
case LO_JAVA:
|
||||
{
|
||||
@@ -1982,6 +1992,11 @@ lo_NewElement(MWContext *context, lo_DocState *state, intn type,
|
||||
case LO_TABLE:
|
||||
size = sizeof(LO_TableStruct);
|
||||
break;
|
||||
#ifdef SHACK
|
||||
case LO_BUILTIN:
|
||||
size = sizeof(LO_BuiltinStruct);
|
||||
break;
|
||||
#endif
|
||||
case LO_CELL:
|
||||
size = sizeof(LO_CellStruct);
|
||||
break;
|
||||
@@ -3754,6 +3769,11 @@ Bool LO_IsWithinSpan( LO_Element *ele )
|
||||
case LO_JAVA:
|
||||
isInSpan = ele->lo_java.ele_attrmask & LO_ELE_IN_SPAN ? TRUE : FALSE;
|
||||
break;
|
||||
#ifdef SHACK
|
||||
case LO_BUILTIN:
|
||||
isInSpan = ele->lo_builtin.ele_attrmask & LO_ELE_IN_SPAN ? TRUE : FALSE;
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
return isInSpan;
|
||||
|
||||
@@ -59,6 +59,10 @@ typedef struct fe_functions {
|
||||
int32 start_pos, int32 end_pos, XP_Bool need_bg);
|
||||
void (*DisplayEmbed)(void *fe_context,
|
||||
int iLocation, LO_EmbedStruct *embed);
|
||||
#ifdef SHACK
|
||||
void (*DisplayBuiltin)(void *fe_context,
|
||||
int iLocation, LO_BuiltinStruct *builtin);
|
||||
#endif
|
||||
void (*DisplayJavaApp)(void *fe_context,
|
||||
int iLocation, LO_JavaAppStruct *java_app);
|
||||
void (*DisplayImage)(void *fe_context,
|
||||
@@ -100,6 +104,10 @@ typedef struct fe_functions {
|
||||
LO_EdgeStruct *edge);
|
||||
void (*FreeEmbedElement)(void *fe_context,
|
||||
LO_EmbedStruct *embed);
|
||||
#ifdef SHACK
|
||||
void (*FreeBuiltinElement)(void *fe_context,
|
||||
LO_BuiltlinStruct *builtin);
|
||||
#endif
|
||||
void (*HideJavaAppElement)(void *fe_context,
|
||||
void *session_data);
|
||||
void (*FreeImageElement)(void *fe_context,
|
||||
|
||||
@@ -50,6 +50,10 @@ extern void shim_FE_DisplaySubtext(DocumentContext context,
|
||||
int32 start_pos, int32 end_pos, XP_Bool need_bg);
|
||||
extern void shim_FE_DisplayEmbed(DocumentContext context,
|
||||
int iLocation, LO_EmbedStruct *embed);
|
||||
#ifdef SHACK
|
||||
extern void shim_FE_DisplayBuiltin(DocumentContext context,
|
||||
int iLocation, LO_BuiltinStruct *builtin);
|
||||
#endif
|
||||
extern void shim_FE_DisplayJavaApp(DocumentContext context,
|
||||
int iLocation, LO_JavaAppStruct *java_app);
|
||||
extern void shim_FE_DisplayImage(DocumentContext context,
|
||||
@@ -91,6 +95,10 @@ extern void shim_FE_FreeEdgeElement(DocumentContext context,
|
||||
LO_EdgeStruct *edge);
|
||||
extern void shim_FE_FreeEmbedElement(DocumentContext context,
|
||||
LO_EmbedStruct *embed);
|
||||
#ifdef SHACK
|
||||
extern void shim_FE_FreeBuiltinElement(DocumentContext context,
|
||||
LO_BuiltinStruct *builtin);
|
||||
#endif
|
||||
extern void shim_FE_HideJavaAppElement(DocumentContext context,
|
||||
void *session_data);
|
||||
extern void shim_FE_FreeImageElement(DocumentContext context,
|
||||
|
||||
Reference in New Issue
Block a user