Ok I'll take a look at that area of the wiki, in the meantime I have found
that the Writer code is under the main/sw folder (in fact I corrected a
page of the wiki that said it was under main/sd, which is instead the Draw
application...)

I posted some code samples in the forum thread that I opened and that I
posted in the first message of this thread.

Let me try to explain again. Basically, if you try setting the
"CharBackColor" property from Java using an RGB integer value from a Java
Color object, it simply doesn't work. I can "manually" set a value that
works by passing an RGB integer value with an "empty" alpha bit, for
example *xPropertySet.setProperty("CharBackColor", 0x00FF0000)* will
successfully set the text background color to Red.

However, when working with the Java Color object, the alpha bit is
automatically set by the Java Color object to 0xFF (which corresponds to
full opacity, whereas 0x00 actually corresponds with full transparency).

In my understanding, OpenOffice doesn't support alpha transparency for
background color and therefore assumes a value of 0x00 for the alpha bit,
and if any other value than 0x00 is set in the alpha bit OpenOffice just
doesn't like it and winds up not displaying the background color at all.

This normally isn't a problem with Basic, because with Basic the color
operations don't automatically set the alpha bit. You can create an RGB
integer with Basic that has no alpha bit. You cannot however with the Java
Color object: *Color.YELLOW.getRGB()* in Java will give you an integer that
has the alpha bit set to 0xFF (= full opacity) by default. And OpenOffice
isn't liking it.

So when working in Java, I have found it necessary to clear the alpha bit
before passing in the integer value: *Color.YELLOW.getRGB() & ~0xFF000000* does
the trick here.

It took me a while to figure out what was going on here and to figure out
the necessary workaround with this bitwise operation. I don't think that
this is intended behaviour, it shouldn't be necessary to explicitly clear
the alpha bit with a bitwise operation in order to set the Character
Background Color. I'm figuring maybe in earlier versions of Java the alpha
bit was not set by default but now it is, or maybe this has been simply
overlooked.

I hope I have explained better now? I'm looking over the source code to see
where exactly OpenOffice is taking the integer value set in the
"CharBackColor" property and actually applying it to the text in the
document. That's probably where it's assuming an alpha bit of 0x00 but it
shouldn't be. If background transparency is not supported per design, then
OpenOffice not assume an empty alpha bit but should check for the alpha bit
value and simply clear it or set it to 0xFF (= full opacity).



On Tue, Sep 22, 2015 at 10:25 AM, Damjan Jovanovic <dam...@apache.org>
wrote:

> Hi John
>
> Have you looked at the development documentation for Writer
> (https://wiki.openoffice.org/wiki/Writer)?
>
> It would also help if you posted a code sample so we can see what you
> are trying to set the color on.
>
> Damjan
>
> On Mon, Sep 21, 2015 at 9:17 PM, John D'Orazio
> <john.dora...@cappellaniauniroma3.org> wrote:
> > Does anyone know if the Writer application uses some kind of canvas
> > interface for formatting and displaying text? I'm picking up on "canvas"
> > here and there but I'm not sure if it's only for the Drawing application,
> > or if all Applications use a form of canvas.
> > I'm guessing the problem with the Java values having the alpha bit and
> the
> > Uno/Basic values not having the alpha bit for Character Background Color
> > would need to be addressed somewhere around where the values are passed
> > between the two, or where the value is actually set to the Writer
> > interface. I'm still trying to get an idea of how the source code is
> > organized...
> >
> > On Mon, Sep 21, 2015 at 8:45 PM, John D'Orazio <
> > john.dora...@cappellaniauniroma3.org> wrote:
> >
> >> Thanks for the tip on OpenGrok! it rocks :D did a search in 887
> >> milliseconds, not bad at all. I guess it has the source code already
> >> indexed so it's a lot faster. That's a big help!
> >>
> >> On Mon, Sep 21, 2015 at 8:20 PM, Damjan Jovanovic <dam...@apache.org>
> >> wrote:
> >>
> >>> I use Eclipse but I first build OpenOffice and then only open 1 module
> >>> at a time. If you plan to open the entire project, you'll need a lot
> >>> of RAM and to increase Eclipse/Java memory limits.
> >>>
> >>> Regards
> >>> Damjan
> >>>
> >>> On Mon, Sep 21, 2015 at 7:47 PM, John D'Orazio
> >>> <john.dora...@cappellaniauniroma3.org> wrote:
> >>> > Ok I'm trying to get the sources on my local computer to take a
> better
> >>> look
> >>> > at them, it'll be easier to search them locally and start to get to
> know
> >>> > them. Does anyone use Eclipse to work with the source code? I'm
> giving
> >>> it a
> >>> > try to see if it is feasible... I saw this page
> >>> > <https://wiki.openoffice.org/wiki/OpenOffice_and_Eclipse> that says
> it
> >>> > should be doable.
> >>> >
> >>> > On Sat, Sep 19, 2015 at 7:18 PM, John D'Orazio <
> >>> > john.dora...@cappellaniauniroma3.org> wrote:
> >>> >
> >>> >> Yes I tried setting the CharBackTransparent boolean also, it had no
> >>> >> effect. From my latest "research" I believe that it's not the case
> that
> >>> >> transparent and opaque values are being exchange, it's simply that
> >>> >> OpenOffice doesn't support transparency for background colors and
> >>> because
> >>> >> of this seems to use "0x00" for the alpha bit (which would normally
> >>> mean
> >>> >> transparent rather than opaque!).
> >>> >> The problem is that the Java Color Object and any other kind of
> Color
> >>> >> handling such as with JColorChooser, always set the alpha bit. So
> I'm
> >>> >> having to explicitly unset the alpha bit / set it to 0x00 before
> >>> trying to
> >>> >> set the background color.
> >>> >> I believe this is something that can / should be handled behind the
> >>> >> scenes, by the OpenOffice API. If it doesn't support transparency it
> >>> should
> >>> >> however check for the alpha bit and set it to whatever it likes it
> to
> >>> be.
> >>> >> So anyone trying to set transparency will simply get opaque, rather
> >>> than
> >>> >> get nothing.
> >>> >>
> >>> >>
> >>> >> On Sat, Sep 19, 2015 at 4:31 PM, Carl Marcum <cmar...@apache.org>
> >>> wrote:
> >>> >>
> >>> >>> On 09/17/2015 07:24 PM, John D'Orazio wrote:
> >>> >>>
> >>> >>>> I believe I have found what can be considered a bug, or at least
> not
> >>> >>>> intended behaviour, in the way the OpenOffice API takes values
> from
> >>> Java
> >>> >>>> when setting certain text properties (in this case
> "CharBackColor")
> >>> using
> >>> >>>> the XPropertySet interface. I have been discussing this on a forum
> >>> >>>> thread (
> >>> >>>>
> >>>
> https://forum.openoffice.org/en/forum/viewtopic.php?f=44&t=79294&p=364347
> >>> >>>> )
> >>> >>>> and have opened an issue for it on the bugzilla tracker (
> >>> >>>> https://bz.apache.org/ooo/show_bug.cgi?id=126531).
> >>> >>>>
> >>> >>>> I would be willing to look into it and work on a patch for this,
> if
> >>> >>>> anyone
> >>> >>>> can point me in the right direction of where exactly to look in
> the
> >>> Open
> >>> >>>> Office source code... I have been skimming over it in the svn
> repo (
> >>> >>>> https://svn.apache.org/repos/asf/openoffice/trunk/), but for a
> >>> newcomer
> >>> >>>> it's hard to know where to look (I'm guessing it might have to do
> >>> with
> >>> >>>> the
> >>> >>>> XPropertySet interface, or wherever the Text Properties supported
> by
> >>> the
> >>> >>>> interface are defined). If anyone can point me in the right
> >>> direction I
> >>> >>>> can
> >>> >>>> try to look into it...
> >>> >>>>
> >>> >>>> Hi John,
> >>> >>>
> >>> >>> I'm actually just beginning to look into how the java jars are
> built
> >>> so I
> >>> >>> may need corrected by someone.
> >>> >>>
> >>> >>> I think the java files are "Built" from IDL files and packaged into
> >>> the
> >>> >>> jar files during a build process.
> >>> >>>
> >>> >>> I have only svn checked out the AOO code last night and begun
> looking.
> >>> >>>
> >>> >>> For instance if you search the codebase for XPropertySet the only
> java
> >>> >>> files I have found are in QA type directories.
> >>> >>>
> >>> >>> Have you tried to additionally set the CharBackTransparent boolean
> >>> >>> property as well [1].
> >>> >>>
> >>> >>> [1]
> >>> >>>
> >>>
> https://www.openoffice.org/api/docs/common/ref/com/sun/star/style/CharacterProperties.html#CharBackColor
> >>> >>>
> >>> >>> Thanks,
> >>> >>> Carl
> >>> >>>
> >>> >>>
> >>> >>>
> >>> >>>
> ---------------------------------------------------------------------
> >>> >>> To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
> >>> >>> For additional commands, e-mail: dev-h...@openoffice.apache.org
> >>> >>>
> >>> >>>
> >>> >>
> >>> >
> >>> >
> >>> > --
> >>> > John R. D'Orazio
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
> >>> For additional commands, e-mail: dev-h...@openoffice.apache.org
> >>>
> >>>
> >>
> >>
> >> --
> >> John R. D'Orazio
> >>
> >
> >
> >
> > --
> > John R. D'Orazio
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
> For additional commands, e-mail: dev-h...@openoffice.apache.org
>
>


-- 
don John R. D'Orazio
Cappellano Coordinatore
________________________________________

Servizio di Cappellania - Università degli Studi Roma Tre
Piazzale San Paolo 1/d - 00120 Città del Vaticano
tel. +39 06-69880809 - cell. +39 333/2545447
E-Mail: *cappellania.uniro...@gmail.com* <cappellania.uniro...@gmail.com> |
*cappella...@uniroma3.it* <cappella...@uniroma3.it>
----
Sito Web: http://www.cappellaniauniroma3.org
Twitter: https://twitter.com/CappellaniaR3
Flickr: http://www.flickr.com/people/cappellaniauniroma3/
Pagina Facebook: https://www.facebook.com/cappellania.uniroma3
Gruppo Facebook: https://www.facebook.com/groups/cappellania.uniroma3
Pagina Google+: https://plus.google.com/+CappellaniaUniRoma3org
Community Google+: http://gplus.to/CappellaniaUniRoma3
LinkedIn:
http://www.linkedin.com/company/cappellania-universit-degli-studi-roma-tre
----
Per iscriversi al Calendario Pubblico della Cappellania (con account
gmail): [image: Iscriviti con Google Calendar]
<https://www.google.com/calendar/render?cid=8jugejikjtlks094p62hled6vs%40group.calendar.google.com>

Reply via email to