Added support for linked textboxes for docx interoperability.
Reviewed on:
https://gerrit.libreoffice.org/9092
Change-Id: I7db4f5a1783afff53c64908d182788b262f5e863
Mainly moved map functions into their own block, however I have also
done a bit more reorganization. Quite a bit to go, it seems...
Change-Id: I041d91c9b96066f5f1e11bd82968c2712988e5f4
Reorganized OutputDevice line functions - several of these functions
should be private. I have renamed the following functions:
* ImplInitLineColor -> InitLineColor (made this private)
* ImplPaintLineGeometryWithEvtlExpand -> PaintLineGeometryWithEvtlExpand
(made this private)
* ImplTryDrawPolyLineDirect -> TryDrawPolyLineDirectNoAA (made this
private)
I also made a small code change to make bTryAA more clear, and also
change (bTryAA && TryDrawPolyLineDirect(rPoly.getB2DPolygon()) to a
nestied if statement.
Change-Id: I90e8083d69b715912bf0ad1d400bc355f3501981
Grouped hatch functions in outdev.hxx. Renamed ImplDrawHatch to DrawHatch
(allow C++ overloading to work out which to use), and renamed
ImplCalcHatchValues to CalcHatchValues and ImplDrawHatchLine to
DrawHatchLIne.
Change-Id: I7be62ec1754864424f6c158ab70178606ccbf1b1
... also slightly changed the overload documentation for DrawBitmapEx
and DrawBitmap functions.
Furthermore, DrawImage() should never be called from a Printer
instance, so warn and abort.
Change-Id: I0de65a5d7bd8249fcd14d844faf74477d490cef5
Rearranged gradient functions in outdev.hxx to group them together,
also renamed ImplGetGradientSteps to GetGradientSteps and
ImplGetGradientStepCount to GetGradientStepCount.
Change-Id: I98ea0d177531e50b9bdc097df15cfb93d26474e7
I have moved the blending functions from blend.cxx to bitmap.cxx, I
also renamed the function ImplBlendWithAlpha to BlendBitmapWithAlpha
and ImplBlend to BlendBitmap.
I also grouped the functions in outdev.hxx - BlendBitmap and
BlendBitmapWithAlpha are both private functions, not public.
Change-Id: Idfaf8826341172bb0288473c643afa51a03b0580
Steps of grabFrame
- Init opengl context
- Call libgltf to render
- Get a RGB buffer from libgltf
- Create a Bitmap from this RGB buffer
Additionally:
- Using mimetype is neccessary to decide which player to create.
- bAllowToCreateReplacementGraphic is unneeded.
Change-Id: I7fef043a3341771389144a4f4cac71b0862ef8a7
In #i60945# it was discovered that Unix's leading external font spacing
causes problems with the display of documents. Therefore, the reference
device implemented a workaround, which was to set the spacing to zero.
However, the reference device is a VirtualDevice, so it should really be
handled there, not in OutputDevice. I have added a new protected function
to OutputDevice, GetFontExtLead() that handles this.
Change-Id: I1b84ee7d9f7ae96841b441b52705e67c8115ae5c
OutputDevice has a public function ImplDrawAlpha, but that just draws
a bitmap with an alpha layer. It's really a public function, though
not yet used outside of OutputDevice. However, the name should really
be the same as SalGraphic's function which is DrawAlphaBitmap.
Change-Id: If2716c1a1a194079d6514a1d30d8b05f9fda664c
There is a fair amount of code duplication going on here. If no valid
Size is passed to the function then we should pass on Size(), then in
the function we call we should check to see if there is a valid size.
In fact, this is something we should probably check for anyway, so if
anything this makes the code slightly more robust.
Change-Id: If7b55e5505ada6739375c69b123cf1e34a0fa66d
Window handles erasure of backgrounds for controls. Probably this
needs to be moved to a more specific class in the future, but for
now it should go into Windows.
I also removed an unnecessary temporary variable, and removed the
need to case the pointer to this from OutputDevice to Window. In
other words, this code has been vastly simplified :-)
Change-Id: I44b91cf68f29424ffbc1679b66fbeaeb024880e9
SFX_IMPL_INTERFACE previously looked like a function; where in fact it is
several methods defined at once, and only the last one has a body.
This is extremely confusing and hard to read; let's kill that nonsense.
Change-Id: Ia4ae22eb58b1260c9c827c894f5345693bad49e7
Added RECT_MIN and RECT_MAX which represent the minimum and
maximum value a Rectangle object can hold. In WMF we used a 32-bit
assumption what the min and max value could be (0x7fffffff,
0x80000000) which causes problems on 64-bit systems.
Change-Id: Ic62daebbc2708cdeb7b0cf7b694bd9940eb98313
LO uses basically the formula "newpixel=(oldpixel-128)*contrast+128+brightness",
i.e. contrast is applied first. It looks like there's no "oficial" formula for this,
so a formula that applies brightness first would be ok too. MSO for some weird reason
apparently uses a formula that applies half of brightness before contrast and
half afterwards (insert funny political correctness or compromise joke here).
While the result is the same like with the LO formula if only either brightness
or contrast is adjusted, the result is different if both are involved. Just modify
the image using the MSO algorithm if this is the case.
Change-Id: I55fe8f395832685b90f024cf2f58b0797c1ba588