Font accessors:
- GetFamily()
- GetPitch()
- GetWidthType()
- GetWeight()
- GetItalic()
- GetName() <--- shouldn't that be GetFamilyName()?!?
- GetStyleName()
Font mutators did not need to be added.
Font unit tests are testing:
- Setting and getting FontFamily private member
- Setting and getting FontPitch private member
- Setting and getting FontWidth private member
- Setting and getting FontWeight private member
- Setting and getting FontItalic private member
- Setting and getting the family name and style
ImplFont accessors:
- GetFamilyNoAsk()
- GetPitchNoAsk()
- GetWidthTypeNoAsk()
- GetWeightNoAsk()
- GetItalicNoAsk()
- GetFamilyName()
- GetStyleName()
(These "NoAsk" functions are necessary because the default getters call on a function
that checks the configuration for default values, something that is not wanted in all
cases).
Change-Id: Icfbc8b4e5253d55a80892df050b0803dfc7d7c9f
Reviewed-on: https://gerrit.libreoffice.org/21501
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
Rules for the vcl::Font class for setting character set and
the symbol flag:
If the characterset changes to anything other than
RTL_TEXTENCODING_SYMBOL then the symbol flag should be off.
If the characterset changes to RTL_TEXTENCODING_SYMBOL then
the symbol flag should be on.
If the symbol flag is set to false and the characterset is
already RTL_TEXTENCODING_SYMBOL then set the characterset to
RTL_TEXTENCODING_DONTKNOW and set the symbol flag to false.
However, if we are setting the symbol flag from false to
false (i.e. we know the characterset) then we can keep the
characterset as it is.
Unit test written in this commit to test this is working.
Change-Id: Iced44659ab88ff66b711c560cb68bd4681ecb537
We are using boost::intrusive_ptr for a number of classes,
unfortunately by default we cannot see this in the Doxygen
collaboration diagrams.
However, we can work around this problem by making a dummy
namespace which we include in a header that is scanned by
Doxygen, but never included in LibreOffice. To be sure of this,
however, I have put #ifdef DOXYGEN_ONLY guards around the file
and defined this in the Doxygen config file.
Change-Id: I18d6956518a49e6006b64e2147023ec8266c8f5c
Given that the edit/outliner views can come and go, avoid the lifecycle
problems with just passing a pointer to the sdr model to editeng, and
then it'll always have the up to date "are we searching" information.
editeng can't depend on svx, so provide an interface class SdrModel can
implement.
Change-Id: I3b98011593b00ac0fab05b6b9c591dd20d94c579
ImplFontMetricPtr is a typedef to an intrusive_ptr<ImplFontMetric>.
I have ditched the manual reference counting to use Boost's smart
pointer.
Change-Id: I5e93f45d19d43c8b7253f4342c1b9ef4a4301527
Exposng your private members as public is bad, but its also
unacceptable to allow friends to access your private members. It's
not the done thing in civilized C++ society.
Change-Id: Id8f811f0e775afde26c6119b274f37908731507c
Mutator created for bullet offset attribute in FontMetric.
See commit description in 8bfccd3a71d911b6d ("vcl: Create accessor
and mutator for font scaling in FontMetric") for reasoning behind
patch.
Unit tests
- check to ensure that can get and set bullet offset attribute
- check equality operator on FontMetric after setting bullet offset
attribute
Change-Id: I87a76982a8b3ed697664299cb340fa35fb514c0e
Mutator created for slant attribute in FontMetric.
See commit description in 8bfccd3a71d911b6d ("vcl: Create accessor
and mutator for font scaling in FontMetric") for reasoning behind
patch.
Unit tests
- check to ensure that can get and set slant attribute
- check equality operator on FontMetric after setting slant attribute
Change-Id: I5490a40dba4c86386d59a42f2d04303b3fc4d536
Mutator created for line height in attribute FontMetric.
See commit description in 8bfccd3a71d911b6d ("vcl: Create accessor
and mutator for font scaling in FontMetric") for reasoning behind
patch.
Unit tests
- check to ensure that can get and set line height attribute
- check equality operator on FontMetric after setting line height
attribute
Change-Id: I86dff217fa24850b5f9d04a17ddda464dfb0156a
Accessor and mutator created for ascent and descent spacing in
FontMetric.
See commit description in 8bfccd3a71d911b6d ("vcl: Create accessor
and mutator for font scaling in FontMetric") for reasoning behind
patch.
Unit tests
- check to ensure that can set font ascent and descent spacing
- check equality operator on FontMetric after setting both ascent
and descent font spacing
Change-Id: I714363b14bdc61ddfa37a619fe4b03f4e4e96f7a
Reviewed-on: https://gerrit.libreoffice.org/21458
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
Accessor and mutator created for external and internal leading space in
FontMetric.
See commit description in 8bfccd3a71d911b6d ("vcl: Create accessor
and mutator for font scaling in FontMetric") for reasoning behind
patch.
Unit tests
- check to ensure that can set external and leading space
- check equality operator on FontMetric after setting both external
and internal leading space
- enhanced tests to also check the inequality operator
Change-Id: I973970dd0b0631c5eca3e89039dce57ac3a3eb63
Reviewed-on: https://gerrit.libreoffice.org/21454
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
Accessor and mutator created for builtin font flag, removed the
existing bit field.
See commit description in 8bfccd3a71d911b6d ("vcl: Create accessor
and mutator for font scaling in FontMetric") for reasoning behind
patch.
Unit tests
- check to ensure that can set builtin font flag
- check equality operator on FontMetric after setting builtin font
flag
Change-Id: Iac3f4270f86d10f9dcd0bb6e3951c0e983a4f22f
Reviewed-on: https://gerrit.libreoffice.org/21414
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>