blob: 491619914c18bb0d285a55f9da04e38a2dbc2e5a [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_basegfx.hxx"
#include <basegfx/tuple/b2dtuple.hxx>
#include <basegfx/numeric/ftools.hxx>
#include <rtl/instance.hxx>
namespace { struct EmptyTuple : public rtl::Static<basegfx::B2DTuple, EmptyTuple> {}; }
#include <basegfx/tuple/b2ituple.hxx>
namespace basegfx
{
const B2DTuple& B2DTuple::getEmptyTuple()
{
return EmptyTuple::get();
}
B2DTuple::B2DTuple(const B2ITuple& rTup)
: mfX( rTup.getX() ),
mfY( rTup.getY() )
{}
void B2DTuple::correctValues(const double fCompareValue)
{
if(0.0 == fCompareValue)
{
if(::basegfx::fTools::equalZero(mfX))
{
mfX = 0.0;
}
if(::basegfx::fTools::equalZero(mfY))
{
mfY = 0.0;
}
}
else
{
if(::basegfx::fTools::equal(mfX, fCompareValue))
{
mfX = fCompareValue;
}
if(::basegfx::fTools::equal(mfY, fCompareValue))
{
mfY = fCompareValue;
}
}
}
B2ITuple fround(const B2DTuple& rTup)
{
return B2ITuple(fround(rTup.getX()), fround(rTup.getY()));
}
} // end of namespace basegfx
// eof