home *** CD-ROM | disk | FTP | other *** search
/ Tools / WinSN5.0Ver.iso / NETSCAP.50 / WIN1998.ZIP / ns / lib / libstyle / jsspriv.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-04-08  |  2.0 KB  |  77 lines

  1. /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
  2.  *
  3.  * The contents of this file are subject to the Netscape Public License
  4.  * Version 1.0 (the "NPL"); you may not use this file except in
  5.  * compliance with the NPL.  You may obtain a copy of the NPL at
  6.  * http://www.mozilla.org/NPL/
  7.  *
  8.  * Software distributed under the NPL is distributed on an "AS IS" basis,
  9.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
  10.  * for the specific language governing rights and limitations under the
  11.  * NPL.
  12.  *
  13.  * The Initial Developer of this code under the NPL is Netscape
  14.  * Communications Corporation.  Portions created by Netscape are
  15.  * Copyright (C) 1998 Netscape Communications Corporation.  All Rights
  16.  * Reserved.
  17.  */
  18. /*   jsspriv.h --- private style sheet routines
  19.  */
  20. #ifndef __JSSPRIV_H_
  21. #define __JSSPRIV_H_
  22.  
  23. #include "stystruc.h"
  24. #include "stystack.h"
  25.  
  26. /*
  27.  * Have the style sheet engine retrieve the list of style properties for
  28.  * the current tag (tag at the top of the tag stack) and stores them into
  29.  * the current style
  30.  */
  31. extern XP_Bool
  32. jss_GetStyleForTopTag(StyleAndTagStack *styleStack);
  33.  
  34. typedef struct JSSContext {
  35.     StyleObject *tags;
  36.     StyleObject    *classes;
  37.     StyleObject    *ids;
  38. } JSSContext;
  39.  
  40. typedef struct _StyleProperty StyleProperty;
  41.  
  42. struct _StyleProperty {
  43.     StyleProperty *next;
  44.     char             *name;
  45.     PRWord           tag;  /* one of the jsval tags */
  46.     union {
  47.         char        *strVal;
  48.         jsint      nVal;
  49.         jsdouble  dVal;
  50.         JSBool      bVal;
  51.     } u;
  52. };
  53.  
  54. /* Destroys a list of properties */
  55. extern void
  56. jss_DestroyProperties(StyleProperty *);
  57.  
  58. typedef struct _StyleRule StyleRule;
  59.  
  60. typedef struct _StyleTag {
  61.     char           *name;
  62.     StyleProperty  *properties;
  63.     uint32            specificity;
  64.     StyleRule       *rules;  /* list of contextual selectors */
  65. } StyleTag;
  66.  
  67. /* Creates a new StyleTag structure */
  68. extern StyleTag *
  69. jss_NewTag(char *name);
  70.  
  71. /* Destroys a StyleTag structure */
  72. extern void
  73. jss_DestroyTag(StyleTag *);
  74.  
  75. #endif /* __JSSPRIV_H_ */
  76.  
  77.