/* -*- 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 LAYSTYLE_H #define LAYSTYLE_H #define ALLOW_NEG_MARGINS /* #undef ALLOW_NEG_MARGINS */ /* prefix for the implicit id's needed for style attributes */ #define NSIMPLICITID "nsImplicitID" #define NS_STYLE_NAME_ATTR "ns_ss_name" #define STYLE_NEED_TO_POP_TABLE "POP_TABLE" #define STYLE_NEED_TO_POP_LIST "POP_LIST" #define STYLE_NEED_TO_POP_MARGINS "POP_MARGINS" #define STYLE_NEED_TO_POP_FONT "POP_FONT" #define STYLE_NEED_TO_POP_PRE "POP_PRE" #define STYLE_NEED_TO_POP_ALIGNMENT "POP_ALIGNMENT" #define STYLE_NEED_TO_POP_LINE_HEIGHT "POP_LINE_HEIGHT" #define STYLE_NEED_TO_POP_LAYER "POP_LAYER" #define STYLE_NEED_TO_POP_CONTENT_HIDING "POP_HIDE_CONTENT" #define STYLE_NEED_TO_RESET_PRE "RESET_PRE" #define FONTSIZE_STYLE "fontSize" #define FONTFACE_STYLE "fontFamily" #define FONTWEIGHT_STYLE "fontWeight" #define FONTSTYLE_STYLE "fontStyle" #define NORMAL_STYLE "normal" #define ITALIC_STYLE "italic" #define OBLIQUE_STYLE "oblique" /* color and background properties */ #define COLOR_STYLE "color" #define BG_COLOR_STYLE "backgroundColor" #define BG_IMAGE_STYLE "backgroundImage" #define BG_REPEAT_STYLE "backgroundRepeat" #define BG_REPEAT_ALL_STYLE "repeat" #define BG_REPEAT_X_STYLE "repeat-x" #define BG_REPEAT_Y_STYLE "repeat-y" #define BG_REPEAT_NONE_STYLE "no-repeat" /* text properties */ #define TEXTDECORATION_STYLE "textDecoration" #define VERTICAL_ALIGN_STYLE "verticalAlign" #define TEXT_TRANSFORM_STYLE "textTransform" #define TEXT_ALIGN_STYLE "textAlign" #define TEXTINDENT_STYLE "textIndent" #define LINE_HEIGHT_STYLE "lineHeight" #define BLINK_STYLE "blink" #define UNDERLINE_STYLE "underline" #define OVERLINE_STYLE "overline" #define STRIKEOUT_STYLE "line-through" /* box properties */ #define BORDERWIDTH_STYLE "borderWidth" #define BORDER_STYLE_STYLE "borderStyle" #define BORDER_COLOR_STYLE "borderColor" #define BORDERRIGHTWIDTH_STYLE "borderRightWidth" #define BORDERLEFTWIDTH_STYLE "borderLeftWidth" #define BORDERTOPWIDTH_STYLE "borderTopWidth" #define BORDERBOTTOMWIDTH_STYLE "borderBottomWidth" #define LEFTMARGIN_STYLE "marginLeft" #define RIGHTMARGIN_STYLE "marginRight" #define TOPMARGIN_STYLE "marginTop" #define BOTTOMMARGIN_STYLE "marginBottom" #define PADDING_STYLE "padding" #define LEFTPADDING_STYLE "paddingLeft" #define RIGHTPADDING_STYLE "paddingRight" #define TOPPADDING_STYLE "paddingTop" #define BOTTOMPADDING_STYLE "paddingBottom" #define WIDTH_STYLE "width" #define LAYER_WIDTH_STYLE "_layer_width" /* Bogus style used for layer widths */ #define HEIGHT_STYLE "height" #define HORIZONTAL_ALIGN_STYLE "align" /* css float property */ #define CLEAR_STYLE "clear" #define PAGE_BREAK_BEFORE_STYLE "pageBreakBefore" #define PAGE_BREAK_AFTER_STYLE "pageBreakAfter" /* classification properties */ #define DISPLAY_STYLE "display" #define BLOCK_STYLE "block" #define INLINE_STYLE "inline" #define NONE_STYLE "none" #define LIST_ITEM_STYLE "list-item" #define LIST_STYLE_TYPE_STYLE "listStyleType" #define WHITESPACE_STYLE "whiteSpace" /* layer styles */ #define POSITION_STYLE "position" #define ABSOLUTE_STYLE "absolute" #define RELATIVE_STYLE "relative" #define TOP_STYLE "top" #define LEFT_STYLE "left" #define CLIP_STYLE "clip" #define ZINDEX_STYLE "zIndex" #define VISIBILITY_STYLE "visibility" #define OVERFLOW_STYLE "overflow" #define LAYER_SRC_STYLE "includeSource" #define LAYER_BG_COLOR_STYLE "layerBackgroundColor" #define LAYER_BG_IMAGE_STYLE "layerBackgroundImage" /* link color styles */ #define LINK_COLOR "linkColor" #define VISITED_COLOR "visitedColor" #define ACTIVE_COLOR "activeColor" #define LINK_BORDER "linkBorder" XP_BEGIN_PROTOS extern int32 LO_GetWidthFromStyleSheet(MWContext *context, lo_DocState *state); extern int32 LO_GetHeightFromStyleSheet(MWContext *context, lo_DocState *state); extern PushTagStatus LO_PushTagOnStyleStack(MWContext *context, lo_DocState *state, PA_Tag *tag); extern void LO_PopStyleTag(MWContext *context, lo_DocState **state, PA_Tag *tag); extern void LO_PopStyleTagByIndex(MWContext *context, lo_DocState **state, TagType tag_type, int32 index); extern XP_Bool LO_PopAllTagsAbove(MWContext *context, lo_DocState **state, TagType tag_type, TagType not_below_this, TagType or_this, TagType or_this_either); extern XP_Bool LO_ImplicitPop(MWContext *context, lo_DocState **state, PA_Tag *tag); #ifdef DOM extern XP_Bool LO_CheckForContentHiding(lo_DocState *state, MWContext *context); #else extern XP_Bool LO_CheckForContentHiding(lo_DocState *state); #endif extern void LO_AdjustSSUnits(SS_Number *number, char *style_type, MWContext *context, lo_DocState *state); extern PA_Tag * LO_CreateStyleSheetDummyTag(PA_Tag *old_tag); extern XP_Bool LO_StyleSheetsEnabled(MWContext *context); /* function body is in laytags.c */ extern int lo_list_bullet_type(char *type_string, TagType tag_type); XP_END_PROTOS #endif /* LAYSTYLE_H */