1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski #ifndef CHART_CHARACTERPROPERTIES_HXX 24*b1cdbd2cSJim Jagielski #define CHART_CHARACTERPROPERTIES_HXX 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski #include "PropertyHelper.hxx" 27*b1cdbd2cSJim Jagielski #include "FastPropertyIdRanges.hxx" 28*b1cdbd2cSJim Jagielski #include "charttoolsdllapi.hxx" 29*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/Property.hpp> 30*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/XMultiPropertySet.hpp> 31*b1cdbd2cSJim Jagielski #include <com/sun/star/awt/FontDescriptor.hpp> 32*b1cdbd2cSJim Jagielski 33*b1cdbd2cSJim Jagielski #include <vector> 34*b1cdbd2cSJim Jagielski 35*b1cdbd2cSJim Jagielski namespace chart 36*b1cdbd2cSJim Jagielski { 37*b1cdbd2cSJim Jagielski 38*b1cdbd2cSJim Jagielski // implements services 39*b1cdbd2cSJim Jagielski // com.sun.star.style.CharacterProperties 40*b1cdbd2cSJim Jagielski // com.sun.star.style.CharacterPropertiesAsian 41*b1cdbd2cSJim Jagielski // com.sun.star.style.CharacterPropertiesComplex 42*b1cdbd2cSJim Jagielski class OOO_DLLPUBLIC_CHARTTOOLS CharacterProperties 43*b1cdbd2cSJim Jagielski { 44*b1cdbd2cSJim Jagielski public: 45*b1cdbd2cSJim Jagielski // FastProperty Ids for properties 46*b1cdbd2cSJim Jagielski enum 47*b1cdbd2cSJim Jagielski { 48*b1cdbd2cSJim Jagielski // com.sun.star.style.CharacterProperties 49*b1cdbd2cSJim Jagielski PROP_CHAR_FONT_NAME = FAST_PROPERTY_ID_START_CHAR_PROP, // ? 50*b1cdbd2cSJim Jagielski PROP_CHAR_FONT_STYLE_NAME, 51*b1cdbd2cSJim Jagielski PROP_CHAR_FONT_FAMILY, 52*b1cdbd2cSJim Jagielski PROP_CHAR_FONT_CHAR_SET, 53*b1cdbd2cSJim Jagielski PROP_CHAR_FONT_PITCH, 54*b1cdbd2cSJim Jagielski PROP_CHAR_COLOR, 55*b1cdbd2cSJim Jagielski // PROP_CHAR_BACKGROUND_COLOR, 56*b1cdbd2cSJim Jagielski //-- PROP_CHAR_BACKGROUND_TRANSPARENCY, alpah channnel in COLOR 57*b1cdbd2cSJim Jagielski PROP_CHAR_ESCAPEMENT, 58*b1cdbd2cSJim Jagielski PROP_CHAR_CHAR_HEIGHT, 59*b1cdbd2cSJim Jagielski PROP_CHAR_UNDERLINE, 60*b1cdbd2cSJim Jagielski PROP_CHAR_UNDERLINE_COLOR, 61*b1cdbd2cSJim Jagielski PROP_CHAR_UNDERLINE_HAS_COLOR, 62*b1cdbd2cSJim Jagielski PROP_CHAR_OVERLINE, 63*b1cdbd2cSJim Jagielski PROP_CHAR_OVERLINE_COLOR, 64*b1cdbd2cSJim Jagielski PROP_CHAR_OVERLINE_HAS_COLOR, 65*b1cdbd2cSJim Jagielski PROP_CHAR_WEIGHT, 66*b1cdbd2cSJim Jagielski PROP_CHAR_POSTURE, 67*b1cdbd2cSJim Jagielski PROP_CHAR_AUTO_KERNING, 68*b1cdbd2cSJim Jagielski PROP_CHAR_KERNING, 69*b1cdbd2cSJim Jagielski // PROP_CHAR_CASE_MAPPING, 70*b1cdbd2cSJim Jagielski // PROP_CHAR_ROTATION, 71*b1cdbd2cSJim Jagielski //-- PROP_CHAR_ROTATION_IS_FIT_TO_LINE, 72*b1cdbd2cSJim Jagielski // PROP_CHAR_SCALE_WIDTH, 73*b1cdbd2cSJim Jagielski PROP_CHAR_ESCAPEMENT_HEIGHT, 74*b1cdbd2cSJim Jagielski 75*b1cdbd2cSJim Jagielski // PROP_CHAR_CROSSED_OUT, 76*b1cdbd2cSJim Jagielski PROP_CHAR_STRIKE_OUT, 77*b1cdbd2cSJim Jagielski PROP_CHAR_WORD_MODE, 78*b1cdbd2cSJim Jagielski // PROP_CHAR_FLASH, 79*b1cdbd2cSJim Jagielski PROP_CHAR_LOCALE, 80*b1cdbd2cSJim Jagielski //-- PROP_CHAR_KEEP_TOGETHER, 81*b1cdbd2cSJim Jagielski //-- PROP_CHAR_NO_LINE_BREAK, 82*b1cdbd2cSJim Jagielski PROP_CHAR_SHADOWED, 83*b1cdbd2cSJim Jagielski PROP_CHAR_CONTOURED, 84*b1cdbd2cSJim Jagielski PROP_CHAR_RELIEF, 85*b1cdbd2cSJim Jagielski //-- PROP_CHAR_COMBINE_IS_ON, 86*b1cdbd2cSJim Jagielski //-- PROP_CHAR_COMBINE_PREFIX, 87*b1cdbd2cSJim Jagielski //-- PROP_CHAR_COMBINE_SUFFIX, 88*b1cdbd2cSJim Jagielski 89*b1cdbd2cSJim Jagielski PROP_CHAR_EMPHASIS, 90*b1cdbd2cSJim Jagielski // PROP_CHAR_RUBY_TEXT, 91*b1cdbd2cSJim Jagielski // PROP_CHAR_RUBY_ADJUST, 92*b1cdbd2cSJim Jagielski // PROP_CHAR_RUBY_STYLE_NAME, 93*b1cdbd2cSJim Jagielski // PROP_CHAR_RUBY_IS_ABOVE, 94*b1cdbd2cSJim Jagielski // PROP_CHAR_INHIBIT_HYPHENATION, 95*b1cdbd2cSJim Jagielski 96*b1cdbd2cSJim Jagielski // Asian (com.sun.star.style.CharacterPropertiesAsian) 97*b1cdbd2cSJim Jagielski PROP_CHAR_ASIAN_FONT_NAME, 98*b1cdbd2cSJim Jagielski PROP_CHAR_ASIAN_FONT_STYLE_NAME, 99*b1cdbd2cSJim Jagielski PROP_CHAR_ASIAN_FONT_FAMILY, 100*b1cdbd2cSJim Jagielski PROP_CHAR_ASIAN_CHAR_SET, 101*b1cdbd2cSJim Jagielski PROP_CHAR_ASIAN_FONT_PITCH, 102*b1cdbd2cSJim Jagielski PROP_CHAR_ASIAN_CHAR_HEIGHT, 103*b1cdbd2cSJim Jagielski PROP_CHAR_ASIAN_WEIGHT, 104*b1cdbd2cSJim Jagielski PROP_CHAR_ASIAN_POSTURE, 105*b1cdbd2cSJim Jagielski PROP_CHAR_ASIAN_LOCALE, 106*b1cdbd2cSJim Jagielski //-- PROP_CHAR_ASIAN_USE_SCRIPT_TYPE_DISTANCE, 107*b1cdbd2cSJim Jagielski //-- PROP_CHAR_ASIAN_USE_FORBIDDEN_RULES, 108*b1cdbd2cSJim Jagielski //-- PROP_CHAR_ASIAN_HANGING_PUNCTUATION_ALLOWED, 109*b1cdbd2cSJim Jagielski 110*b1cdbd2cSJim Jagielski // Complex Text Layout (com.sun.star.style.CharacterPropertiesComplex) 111*b1cdbd2cSJim Jagielski PROP_CHAR_COMPLEX_FONT_NAME, 112*b1cdbd2cSJim Jagielski PROP_CHAR_COMPLEX_FONT_STYLE_NAME, 113*b1cdbd2cSJim Jagielski PROP_CHAR_COMPLEX_FONT_FAMILY, 114*b1cdbd2cSJim Jagielski PROP_CHAR_COMPLEX_CHAR_SET, 115*b1cdbd2cSJim Jagielski PROP_CHAR_COMPLEX_FONT_PITCH, 116*b1cdbd2cSJim Jagielski PROP_CHAR_COMPLEX_CHAR_HEIGHT, 117*b1cdbd2cSJim Jagielski PROP_CHAR_COMPLEX_WEIGHT, 118*b1cdbd2cSJim Jagielski PROP_CHAR_COMPLEX_POSTURE, 119*b1cdbd2cSJim Jagielski PROP_CHAR_COMPLEX_LOCALE, 120*b1cdbd2cSJim Jagielski PROP_PARA_IS_CHARACTER_DISTANCE, 121*b1cdbd2cSJim Jagielski 122*b1cdbd2cSJim Jagielski PROP_WRITING_MODE, 123*b1cdbd2cSJim Jagielski 124*b1cdbd2cSJim Jagielski // don't use 125*b1cdbd2cSJim Jagielski FAST_PROPERTY_ID_END_CHAR_PROP 126*b1cdbd2cSJim Jagielski }; 127*b1cdbd2cSJim Jagielski 128*b1cdbd2cSJim Jagielski static void AddPropertiesToVector( 129*b1cdbd2cSJim Jagielski ::std::vector< ::com::sun::star::beans::Property > & rOutProperties ); 130*b1cdbd2cSJim Jagielski 131*b1cdbd2cSJim Jagielski static void AddDefaultsToMap( ::chart::tPropertyValueMap & rOutMap ); 132*b1cdbd2cSJim Jagielski 133*b1cdbd2cSJim Jagielski static bool IsCharacterPropertyHandle( sal_Int32 nHandle ); 134*b1cdbd2cSJim Jagielski 135*b1cdbd2cSJim Jagielski static ::com::sun::star::awt::FontDescriptor createFontDescriptorFromPropertySet( 136*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XMultiPropertySet > & xMultiPropSet ); 137*b1cdbd2cSJim Jagielski 138*b1cdbd2cSJim Jagielski private: 139*b1cdbd2cSJim Jagielski // not implemented 140*b1cdbd2cSJim Jagielski CharacterProperties(); 141*b1cdbd2cSJim Jagielski }; 142*b1cdbd2cSJim Jagielski 143*b1cdbd2cSJim Jagielski } // namespace chart 144*b1cdbd2cSJim Jagielski 145*b1cdbd2cSJim Jagielski // CHART_CHARACTERPROPERTIES_HXX 146*b1cdbd2cSJim Jagielski #endif 147