mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-31 22:25:30 +00:00
185 lines
6.6 KiB
C
185 lines
6.6 KiB
C
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
*
|
|
* The contents of this file are subject to the Netscape Public License
|
|
* Version 1.0 (the "NPL"); you may not use this file except in
|
|
* compliance with the NPL. You may obtain a copy of the NPL at
|
|
* http://www.mozilla.org/NPL/
|
|
*
|
|
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
|
* for the specific language governing rights and limitations under the
|
|
* NPL.
|
|
*
|
|
* The Initial Developer of this code under the NPL is Netscape
|
|
* Communications Corporation. Portions created by Netscape are
|
|
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
|
* Reserved.
|
|
*/
|
|
|
|
#ifndef _LayoutFunctions_
|
|
#define _LayoutFunctions_
|
|
/*
|
|
* The idea is for the FE to create and fill in one of these
|
|
* structures, and then pass it to layout when creating the
|
|
* DocumentContext. The document context will keep
|
|
* a pointer to this structure, and use the functions in it to
|
|
* interface with the FE. The fe_context which is the first parameter
|
|
* of each of these functions, is the opaque object that the FE will
|
|
* use to determine which window this command is directed at, the fe_context
|
|
* object is passed as a separate value to LO_CreateDocumentContext() so
|
|
* that multiple fe_context objects can share the same fe_functions
|
|
* structure.
|
|
*
|
|
* Eventually this should be replaced with a JMC interface.
|
|
*/
|
|
|
|
#include "lo_ele.h"
|
|
#include "URL.h"
|
|
|
|
typedef struct fe_functions {
|
|
void (*ShiftImage)(void *fe_context,
|
|
LO_ImageStruct *image);
|
|
|
|
void (*GetJavaAppSize)(void *fe_context,
|
|
LO_JavaAppStruct *java, URL_ReloadMethod force_reload);
|
|
void (*GetEmbedSize)(void *fe_context,
|
|
LO_EmbedStruct *embed, URL_ReloadMethod force_reload);
|
|
void (*GetImageInfo)(void *fe_context,
|
|
LO_ImageStruct *image, URL_ReloadMethod force_reload);
|
|
|
|
int (*GetTextInfo)(void *fe_context,
|
|
LO_TextStruct *text, LO_TextInfo *text_info);
|
|
char *(*TranslateISOText)(void *fe_context,
|
|
int charset, char *ISO_Text);
|
|
|
|
void (*DisplayText)(void *fe_context,
|
|
int iLocation, LO_TextStruct *text, XP_Bool need_bg);
|
|
void (*DisplaySubtext)(void *fe_context,
|
|
int iLocation, LO_TextStruct *text,
|
|
int32 start_pos, int32 end_pos, XP_Bool need_bg);
|
|
void (*DisplayEmbed)(void *fe_context,
|
|
int iLocation, LO_EmbedStruct *embed);
|
|
void (*DisplayBuiltin)(void *fe_context,
|
|
int iLocation, LO_BuiltinStruct *builtin);
|
|
void (*DisplayJavaApp)(void *fe_context,
|
|
int iLocation, LO_JavaAppStruct *java_app);
|
|
void (*DisplayImage)(void *fe_context,
|
|
int iLocation, LO_ImageStruct *image);
|
|
void (*DisplaySubImage)(void *fe_context,
|
|
int iLocation, LO_ImageStruct *image,
|
|
int32 x, int32 y, uint32 width, uint32 height);
|
|
void (*DisplayEdge)(void *fe_context,
|
|
int iLocation, LO_EdgeStruct *edge);
|
|
void (*DisplayTable)(void *fe_context,
|
|
int iLocation, LO_TableStruct *table);
|
|
void (*DisplaySubDoc)(void *fe_context,
|
|
int iLocation, LO_SubDocStruct *subdoc);
|
|
void (*DisplayCell)(void *fe_context,
|
|
int iLocation, LO_CellStruct *cell);
|
|
void (*DisplayLineFeed)(void *fe_context,
|
|
int iLocation, LO_LinefeedStruct *lfeed, XP_Bool need_bg);
|
|
void (*DisplayHR)(void *fe_context,
|
|
int iLocation, LO_HorizRuleStruct *hrule);
|
|
void (*DisplayBullet)(void *fe_context,
|
|
int iLocation, LO_BulletStruct *bullet);
|
|
void (*DisplayFormElement)(void *fe_context,
|
|
int iLocation, LO_FormElementStruct *form_element);
|
|
|
|
void (*GetFormElementInfo)(void *fe_context,
|
|
LO_FormElementStruct *form_element);
|
|
void (*GetFormElementValue)(void *fe_context,
|
|
LO_FormElementStruct *form_element, XP_Bool hide, XP_Bool submit);
|
|
void (*FormTextIsSubmit)(void *fe_context,
|
|
LO_FormElementStruct *single_text_ele);
|
|
void (*FreeFormElement)(void *fe_context,
|
|
LO_FormElementData *form_data);
|
|
void (*ResetFormElement)(void *fe_context,
|
|
LO_FormElementStruct *form_element);
|
|
void (*SetFormElementToggle)(void *fe_context,
|
|
LO_FormElementStruct *form_element, XP_Bool toggle);
|
|
|
|
void (*FreeEdgeElement)(void *fe_context,
|
|
LO_EdgeStruct *edge);
|
|
void (*FreeEmbedElement)(void *fe_context,
|
|
LO_EmbedStruct *embed);
|
|
void (*FreeBuiltinElement)(void *fe_context,
|
|
LO_BuiltlinStruct *builtin);
|
|
void (*HideJavaAppElement)(void *fe_context,
|
|
void *session_data);
|
|
void (*FreeImageElement)(void *fe_context,
|
|
LO_ImageStruct *image);
|
|
|
|
void (*GetFullWindowSize)(void *fe_context,
|
|
int32 *width, int32 *height);
|
|
void (*GetEdgeMinSize)(void *fe_context,
|
|
int32 *size
|
|
#if defined(XP_WIN) || defined(XP_OS2)
|
|
, Bool no_edge
|
|
#endif
|
|
);
|
|
void (*LoadGridCellFromHistory)(void *fe_context,
|
|
void *hist, URL_ReloadMethod force_reload);
|
|
/* The void * return value here is an opaque fe_context
|
|
* object for the newly created grid window. */
|
|
void *(*MakeGridWindow)(void *fe_context,
|
|
void *history,
|
|
int32 x, int32 y, int32 width, int32 height,
|
|
char *url_str, char *window_name, int8 scrolling,
|
|
URL_ReloadMethod force_reload
|
|
#if defined (XP_WIN) || defined (XP_MAC) || defined(XP_OS2)
|
|
, Bool no_edge
|
|
#endif
|
|
);
|
|
void (*RestructureGridWindow)(void *fe_context,
|
|
int32 x, int32 y, int32 width, int32 height);
|
|
void *(*FreeGridWindow)(void *fe_context,
|
|
XP_Bool save_history);
|
|
|
|
Bool (*SecurityDialog)(void *fe_context,
|
|
int message);
|
|
|
|
void (*GetDocPosition)(void *fe_context,
|
|
int location, int32 *x, int32 *y);
|
|
void (*SetDocPosition)(void *fe_context,
|
|
int location, int32 x, int32 y);
|
|
void (*ScrollDocTo)(void *fe_context,
|
|
int location, int32 x, int32 y);
|
|
void (*SetDocDimension)(void *fe_context,
|
|
int location, int32 width, int32 height);
|
|
void (*ClearView)(void *fe_context,
|
|
int location);
|
|
void (*SetDocTitle)(void *fe_context,
|
|
char *title);
|
|
void (*SetBackgroundColor)(void *fe_context,
|
|
uint8 red, uint8 green, uint8 blue);
|
|
|
|
void (*SetProgressBarPercent)(void *fe_context,
|
|
int32 percent);
|
|
|
|
void (*LayoutNewDocument)(void *fe_context,
|
|
URL *url_struct, int32 *width, int32 *height, /* tj */
|
|
int32 *margin_width, int32 *margin_height);
|
|
void (*FinishedLayout)(void *fe_context);
|
|
void (*BeginPreSection)(void *fe_context);
|
|
void (*EndPreSection)(void *fe_context);
|
|
|
|
void (*GetTextFrame)(void *fe_context,
|
|
LO_TextStruct *text, int32 start, int32 end, XP_Rect *frame);
|
|
|
|
void (*EraseBackground)(void *fe_context,
|
|
int location, int32 x, int32 y,
|
|
uint32 width, uint32 height,
|
|
LO_Color *bg, LO_ImageStruct *image);
|
|
|
|
PRBool (*HandleLayerEvent)(void *fe_context,
|
|
CL_Layer *layer, CL_Event *event);
|
|
|
|
void (*GetOrigin)(void *fe_context,
|
|
int location, int32 *x, int32 *y);
|
|
void (*SetOrigin)(void *fe_context,
|
|
int location, int32 x, int32 y);
|
|
|
|
} FE_Functions; /* tj */
|
|
|
|
#endif /* _LayoutFunctions_ */
|