--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/wmlengine/src/lmgr/include/BoxFormat.h Wed Sep 01 12:28:30 2010 +0100
@@ -0,0 +1,335 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef BOX_FORMATTER_H
+#define BOX_FORMATTER_H
+
+#include <e32def.h> // To avoid NULL redefine warning (no #ifndef NULL)
+
+
+//#include "nw_lmgr_posflowbox.h"
+#include "nw_lmgr_flowbox.h"
+#include "nw_lmgr_formatcontext.h"
+#include "nw_fbox_inputbox.h"
+#include "nw_lmgr_splittextbox.h"
+#include "nw_lmgr_textbox.h"
+#include "nw_lmgr_rootbox.h"
+#include "nw_text_ucs2.h"
+#include "nw_lmgr_activecontainerbox.h"
+#include "nw_lmgr_animatedimagebox.h"
+#include "nw_lmgr_imgcontainerbox.h"
+#include "nw_lmgr_marqueebox.h"
+#include "nwx_settings.h"
+#include "BrsrStatusCodes.h"
+#include "nw_lmgr_emptybox.h"
+#include "nw_lmgr_rulebox.h"
+#include "nw_lmgr_breakbox.h"
+#include "nw_lmgr_statictablebox.h"
+#include "nw_lmgr_statictablerowbox.h"
+#include "nw_lmgr_statictablecellbox.h"
+#include "nw_lmgr_cssproperties.h"
+#include "nw_lmgr_listbullets.h"
+#include "nw_image_virtualimage.h"
+#include "nw_image_cannedimages.h"
+#include "nw_fbox_formbox.h"
+#include "nwx_string.h"
+#include "nw_lmgr_imgcontainerbox.h"
+#include "LMgrObjectBoxOOC.h"
+#include "nwx_settings.h"
+
+#include "BrsrStatusCodes.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+
+void PartialFormatL(NW_LMgr_Box_t* aFormatBox, TBool aDocumentComplete);
+void FormatL(NW_LMgr_Box_t* aFormatBox,
+ NW_LMgr_ContainerBox_t *containerBox,
+ NW_LMgr_FormatContext_t* aContext);
+
+
+class TLMgr_BoxFormatter
+ {
+ public:
+ // check if they have to be virtual functions
+
+ TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_PostFormat(NW_LMgr_Box_t* flow,
+ NW_LMgr_ContainerBox_t *whose,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ virtual TBrowserStatusCode
+ NW_LMgr_FlowBox_PostFormatBox(NW_LMgr_Box_t* parentFormatBox,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ virtual TBrowserStatusCode NW_LMgr_FlowBox_FormatBox(NW_LMgr_Box_t* parentFormatBox,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+ // virtual function
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_FlowInline(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext) ;
+ // virtual function
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_PostFlowInline(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+ // virtual function
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_FlowBlock(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ //virtual function
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_PostFlowBlock(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ // virtual function
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_PostFlowFloat(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ // virtual function
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_Float(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ // virtual function
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_NewLine(NW_LMgr_Box_t* flow,
+ NW_LMgr_FormatContext_t* context,
+ NW_GDI_Metric_t delta,
+ NW_Bool indentNewLine);
+
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_ListItem(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* item,
+ NW_LMgr_FormatContext_t* context);
+
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_DirectKey(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* item,
+ NW_LMgr_FormatContext_t* context);
+
+ // public function
+ TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_Flush(NW_LMgr_Box_t* flow,
+ NW_LMgr_FormatContext_t* parentContext, NW_Bool addLineSpacing);
+ TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_AdvanceToClear(NW_LMgr_Box_t* flow,
+ NW_LMgr_FormatContext_t* parentContext,
+ NW_LMgr_PropertyValueToken_t clearToken);
+
+ TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_AdvanceToClearReformat(NW_LMgr_Box_t* flow,
+ NW_LMgr_FormatContext_t* parentContext,
+ NW_LMgr_PropertyValueToken_t clearToken);
+
+ NW_GDI_Metric_t
+ NW_LMgr_FlowBox_GetIndentation(NW_LMgr_Box_t* flow,
+ NW_LMgr_FormatContext_t* parentContext);
+ TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_FlushInlineContainers(NW_LMgr_Box_t* flow,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_ReformatLine(NW_LMgr_Box_t* flow,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ NW_LMgr_Box_t*
+ NW_LMgr_BidiFlowBox_GetFirstBlock(NW_LMgr_Box_t* flow);
+
+ NW_LMgr_Box_t*
+ NW_LMgr_BidiFlowBox_GetLastBlock(NW_LMgr_Box_t* flow);
+
+ NW_Bool IsClosedTop(NW_LMgr_Box_t *box);
+
+ NW_Bool IsClosedBottom(NW_LMgr_Box_t *box);
+
+ TBrowserStatusCode NW_LMgr_BidiFlowBox_CollapseMargins(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box, NW_LMgr_FormatContext_t* parentContext, NW_ADT_Vector_Metric_t index);
+
+ NW_GDI_Metric_t NW_LMgr_FlowBox_GetLineStart(NW_LMgr_Box_t* flow,
+ NW_LMgr_FormatContext_t* parentContext,
+ NW_GDI_Metric_t where);
+
+ NW_GDI_Metric_t NW_LMgr_FlowBox_GetLineEnd(NW_LMgr_Box_t* flow,
+ NW_LMgr_FormatContext_t* parentContext,
+ NW_GDI_Metric_t where);
+
+ NW_Bool NW_LMgr_BidiFlowBox_AtNewLine(NW_LMgr_Box_t* flow,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ void NW_LMgr_BidiFlowBox_GetConstraint(NW_LMgr_Box_t *flow,
+ NW_LMgr_FormatContext_t *parentContext,
+ NW_GDI_Metric_t *constraint);
+
+ void
+ NW_LMgr_BidiFlowBox_GetBlockMargins (NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t *parentContext,
+ NW_LMgr_FrameInfo_t *margin);
+
+ void
+ NW_LMgr_BidiFlowBox_PlaceChild(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+ void
+ NW_LMgr_BidiFlowBox_PlaceChildAt(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_GDI_Metric_t x,
+ NW_GDI_Metric_t y);
+
+ TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_HandleInline(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+ TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_HandleInlineContainer(NW_LMgr_Box_t* flow,
+ NW_LMgr_ContainerBox_t* container,
+ NW_LMgr_FormatContext_t* parentContext);
+ TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_HandleInlineContainerPost(NW_LMgr_Box_t* flow,
+ NW_LMgr_ContainerBox_t* container,
+ NW_LMgr_FormatContext_t* parentContext);
+ TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_HandleBlock (NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_HandleBlockPost (NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+ TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_PlaceFloat(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t *box,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ TBrowserStatusCode NW_LMgr_BidiFlowBox_HandleFloat(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_HandleBreak(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ NW_LMgr_Box_t* NW_LMgr_BidiFlowBox_GetMarker(NW_LMgr_Box_t* flowBox,
+ NW_LMgr_Box_t* item,
+ NW_LMgr_FormatContext_t* context,
+ NW_LMgr_PropertyValueToken_t* markerVerticalAlign,
+ NW_Bool* style);
+ NW_LMgr_Box_t* NW_LMgr_BidiFlowBox_GetDirectKeyMarker(NW_LMgr_Box_t* item);
+ NW_Image_AbstractImage_t* NW_LMgr_BidiFlowBox_GetListStyleImage(NW_LMgr_Box_t* flowBox,
+ NW_LMgr_PropertyValueToken_t token);
+
+ TBrowserStatusCode NW_LMgr_BidiFlowBox_Initialize(NW_LMgr_BidiFlowBox_t *flow);
+ TBrowserStatusCode NW_LMgr_BidiFlowBox_InitializeSSL(NW_LMgr_BidiFlowBox_t *flow);
+ TBrowserStatusCode NW_LMgr_BidiFlowBox_GetListMargin(NW_LMgr_FlowBox_t* flowBox);
+ TBrowserStatusCode NW_LMgr_ResizeToFloat(NW_LMgr_Box_t* flow, NW_LMgr_FormatContext_t* parentContext);
+ };
+
+
+class TLMgr_Marquee_Box_Formatter:public TLMgr_BoxFormatter
+ {
+public:
+ // virtual function
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_FlowInline(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext) ;
+ // virtual function
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_PostFlowInline(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+ // virtual function
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_FlowBlock(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ //virtual function
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_PostFlowBlock(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ // virtual function
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_Float(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_ListItem(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* item,
+ NW_LMgr_FormatContext_t* context);
+
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_DirectKey(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* item,
+ NW_LMgr_FormatContext_t* context);
+
+ };
+
+
+class TLMgr_StaticCell_Box_Formatter:public TLMgr_BoxFormatter
+ {
+ public:
+
+ virtual TBrowserStatusCode
+ NW_LMgr_FlowBox_FormatBox(NW_LMgr_Box_t* parentFormatBox,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+
+
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_Float(NW_LMgr_Box_t* flow,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+
+ virtual TBrowserStatusCode
+ NW_LMgr_BidiFlowBox_NewLine(NW_LMgr_Box_t* flow,
+ NW_LMgr_FormatContext_t* context,
+ NW_GDI_Metric_t delta,
+ NW_Bool indentNewLine);
+ virtual TBrowserStatusCode
+ NW_LMgr_FlowBox_PostFormatBox(NW_LMgr_Box_t* parentFormatBox,
+ NW_LMgr_Box_t* box,
+ NW_LMgr_FormatContext_t* parentContext);
+
+
+ };
+
+#ifdef __cplusplus
+} // extern "C" {
+#endif /* __cplusplus */
+
+#endif
+