Return-Path: X-Original-To: apmail-incubator-ooo-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-ooo-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B6E62DBE6 for ; Mon, 6 Aug 2012 09:05:40 +0000 (UTC) Received: (qmail 6289 invoked by uid 500); 6 Aug 2012 09:05:40 -0000 Delivered-To: apmail-incubator-ooo-dev-archive@incubator.apache.org Received: (qmail 6074 invoked by uid 500); 6 Aug 2012 09:05:39 -0000 Mailing-List: contact ooo-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ooo-dev@incubator.apache.org Delivered-To: mailing list ooo-dev@incubator.apache.org Received: (qmail 6055 invoked by uid 99); 6 Aug 2012 09:05:39 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Aug 2012 09:05:39 +0000 X-ASF-Spam-Status: No, hits=1.7 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of lijianyuan1983@gmail.com designates 209.85.160.175 as permitted sender) Received: from [209.85.160.175] (HELO mail-gh0-f175.google.com) (209.85.160.175) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Aug 2012 09:05:30 +0000 Received: by ghbz2 with SMTP id z2so639181ghb.6 for ; Mon, 06 Aug 2012 02:05:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=e4ik2oPFx/f7fke92a8xjVETJg464qGeplSx+zlCYHw=; b=J92evQB56n+MCcIaDezi9YKDHhwqFHbm1SZmSIWgnhOaYPOdW+uwMRFHo8RbwB6dZo ZGP9WOxccWWE0m0nu7SpkWosT5TTcQQoXDMoLPJS4fAuxh6c74vdT8HtOul0/UXUTZYJ 94HoFVVQu+acIjKZNqY+aCDhZe/zZ5hE/W2810Wo8LuCsx9pUUaNXNd8i/NONB7e/6qs alJUHJvZnAP0rfTN7aDSaDMC+DLHi3VWf/dGEEIeEOFf9WN5WAyjVwMgksaJkRBUlZfG TVK2wlDTy5ztxw0fMmYTwnqsRz9jXEAVaH1PcAdcjNduDrCDQgT1ytawkulh5xekhDwF Akew== MIME-Version: 1.0 Received: by 10.50.41.230 with SMTP id i6mr4704236igl.7.1344243909044; Mon, 06 Aug 2012 02:05:09 -0700 (PDT) Received: by 10.64.104.65 with HTTP; Mon, 6 Aug 2012 02:05:08 -0700 (PDT) In-Reply-To: <501F7668.2070100@t-online.de> References: <501F0B49.6000601@t-online.de> <501F7668.2070100@t-online.de> Date: Mon, 6 Aug 2012 17:05:08 +0800 Message-ID: Subject: Re: Understanding custom shapes From: Jianyuan Li To: ooo-dev@incubator.apache.org Content-Type: multipart/mixed; boundary=14dae9340795b0a9bd04c6952cde --14dae9340795b0a9bd04c6952cde Content-Type: multipart/alternative; boundary=14dae9340795b0a9b904c6952cdc --14dae9340795b0a9b904c6952cdc Content-Type: text/plain; charset=ISO-8859-1 This time attachment is provided with doc file. I think mso..Segm[] use a different numbering pattern. You can find more details for them in MS specification "[MS-ODRAW].pdf". 2012/8/6 Regina Henschel > Hi Jianyuan, > > thanks for your answer. Unfortunately the attachment was stripped. Can you > please sent me the attachment directly or provide it for download? > > Jianyuan Li schrieb: > > Hi, Regina, >> >> Below is my understanding for custom shape segment. >> An segment is consist of two parts: command and count. It is described >> with >> an integer with two bytes. The high byte describes command and the low >> byte >> describes count. For the high byte, the high 3 bits is used to show the >> basic command and the low 5 bits is used to show extended command. See my >> attachment for details. >> Taking "0x4000" as an example, it means command is moveto and count is 0. >> Moveto is shown with "2" and occupy the first 3 bits of high byte. So 0x40 >> will be calculated. >> > > The values shown in Basic follow the EnhancedCustomShapeSegmentComm**and > from the idl reference. There MOVETO is 1. Does mso..Segm[] use a different > numbering pattern? > > Kind regards > Regina > > > > >> 2012/8/6 Regina Henschel >> >> Hi all, >>> >>> I'm currently learning, how custom shapes work. I know already, how to >>> write them directly in the XML file format, I understand what I see in >>> Basic, I understand mso_sptxxxVer[], mso_sptxxxCalc[], and >>> mso_sptxxxGluePoints[]. >>> >>> But now I stuck with mso_sptxxxSegm[]. I understand the "Segments" as >>> they >>> are shown in Basic, but I cannot map that to mso_sptxxxSegm[]. >>> >>> For example for custom shape "Parallelogram" I see in Basic: >>> Command Count Command Count Command Count Command Count >>> 1 1 2 3 4 0 5 0 >>> which is >>> M L L L Z N >>> >>> In mso_sptParallelogramSegm[] I read >>> 0x4000, 0x0003, 0x6001, 0x8000 >>> and have no idea, how that fits together. >>> >>> Can someone give me a pointer or explain it to me? >>> >>> Kind regards >>> Regina >>> >>> >> > --14dae9340795b0a9b904c6952cdc Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable This time attachment is provided with doc file.
I think mso..Segm[] use= a different numbering pattern. You can find more details for them in MS sp= ecification "[MS-ODRAW].pdf".

2012/8/6 Regina Henschel <rb.henschel@t-online.de>
=
Hi Jianyuan,

thanks for your answer. Unfortunately the attachment was stripped. Can you = please sent me the attachment directly or provide it for download?

Jianyuan Li schrieb:

Hi, Regina,

Below is my understanding for custom shape segment.
An segment is consist of two parts: command and count. It is described with=
an integer with two bytes. The high byte describes command and the low byte=
describes count. For the high byte, the high 3 bits is used to show the
basic command and the low 5 bits is used to show extended command. See my attachment for details.
Taking "0x4000" as an example, it means command is moveto and cou= nt is 0.
Moveto is shown with "2" and occupy the first 3 bits of high byte= . So 0x40
will be calculated.

The values shown in Basic follow the EnhancedCustomShapeSegmentComma= nd from the idl reference. There MOVETO is 1. Does mso..Segm[] use a differ= ent numbering pattern?

Kind regards
Regina




2012/8/6 Regina Henschel <rb.henschel@t-online.de>

Hi all,

I'm currently learning, how custom shapes work. I know already, how to<= br> write them directly in the XML file format, I understand what I see in
Basic, I understand mso_sptxxxVer[], mso_sptxxxCalc[], and
mso_sptxxxGluePoints[].

But now I stuck with mso_sptxxxSegm[]. I understand the "Segments"= ; as they
are shown in Basic, but I cannot map that to mso_sptxxxSegm[].

For example for custom shape "Parallelogram" I see in Basic:
Command Count Command Count Command Count Command Count
=A0 =A0 1 =A0 =A0 =A01 =A0 =A0 =A02 =A0 =A0 =A03 =A0 =A0 =A04 =A0 =A0 =A00 = =A0 =A0 =A05 =A0 =A0 0
which is
M L L L Z N

In mso_sptParallelogramSegm[] I read
=A0 =A0 0x4000, 0x0003, 0x6001, 0x8000
and have no idea, how that fits together.

Can someone give me a pointer or explain it to me?

Kind regards
Regina




--14dae9340795b0a9b904c6952cdc-- --14dae9340795b0a9bd04c6952cde--