haiku-website/static/legacy-docs/benewsletter/Issue4-43.html

192 lines
16 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Be Newsletters - Volume 4: 1999</title><link rel="stylesheet" href="be_newsletter.css" type="text/css" media="all" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="./images/favicon.ico" /><!--[if IE]>
<link rel="stylesheet" type="text/css" href="be_newsletter_ie.css" />
<![endif]--><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><link rel="start" href="index.html" title="Be Newsletters" /><link rel="up" href="volume4.html" title="Volume 4: 1999" /><link rel="prev" href="Issue4-42.html" title="Issue 4-42, October 20, 1999" /><link rel="next" href="Issue4-44.html" title="Issue 4-44, November 3, 1999" /></head><body><div id="header"><div id="headerT"><div id="headerTL"><a accesskey="p" href="Issue4-42.html" title="Issue 4-42, October 20, 1999"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a accesskey="u" href="volume4.html" title="Volume 4: 1999"><img src="./images/navigation/up.png" alt="Up" /></a> <a accesskey="n" href="Issue4-44.html" title="Issue 4-44, November 3, 1999"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="headerTR"><div id="navigpeople"><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div><div class="navigboxed" id="naviglang" title="English">en</div></div><div id="headerTC">Be Newsletters - Volume 4: 1999</div></div><div id="headerB">Prev: <a href="Issue4-42.html">Issue 4-42, October 20, 1999</a>  Up: <a href="volume4.html">Volume 4: 1999</a>  Next: <a href="Issue4-44.html">Issue 4-44, November 3, 1999</a></div><hr /></div><div class="article"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="Issue4-43"></a>Issue 4-43, October 27, 1999</h2></div></div></div><div class="sect1"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="Marketing4-43"></a>Business &amp; Marketing: What's new in Europe</h2></div><div xmlns:d="http://docbook.org/ns/docbook"><span xmlns="http://www.w3.org/1999/xhtml" class="author">By <span class="firstname">Michael</span> <span class="surname">Alderete</span></span></div></div></div><p>
As many of you have noticed, we've upgraded the look-and-feel of BeWare,
and moved it to the main Be web site:
</p><p>
&lt;http://www.be.com/software/beware/&gt;
</p><p>
The changes are all with the look-and-feel, the presentation, of BeWare.
We hope you, and the thousands of people who download your software from
BeWare each month, will find the new design easier to look at and use.
</p><p>
We're not quite finished with the changes. In the next week or so we will
be reorganizing the categories and subcategories for BeWare, to try to
make things easier to find, as well as to reflect the state of software
for BeOS today, rather than the DR8 days when the categories were first
designed. We'll also continue to tweak the templates that build the
pages. And there's at least one surprise still up our sleeves. ;-)
</p><p>
If you haven't done so in a while, you should visit the Registered
Developer section and update the information for each of your
applications:
</p><p>
&lt;http://www.be.com/developers/registered_entry.html&gt;
</p><p>
You might also take a quick look at each of your application entries in
the new BeWare, and make sure things are displaying as you expect.
</p><p>
To answer a few questions before they're asked, this redesign is NOT a
change in the systems that handle BeWare. We're definitely going to do
that, too, but that will take a few months, because it is intimately tied
into all our other Developer databases and systems. Replacing the back
end will let us add lots of new features to BeWare, like better searching
and immediate updating, instead of the 24 hour or longer waiting period
that still exists today.
</p></div><hr class="pagebreak" /><div class="sect1"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="Engineering4-43"></a>Be Engineering Insights: Getting More From BPrintJob</h2></div><div xmlns:d="http://docbook.org/ns/docbook"><span xmlns="http://www.w3.org/1999/xhtml" class="author">By <span class="firstname">Michael</span> <span class="surname">Morrissey</span></span></div></div></div><p>
If your application prints, chances are that you send <code class="classname">BView</code>s directly to
the <code class="classname">BPrintJob</code> class without any modification. This
what-you-see-is-what-you-get style of printing is ideal for word
processors and graphic design applications, but for applications where
printing is not an end in itself, there might be a lot of meta-
information about the document which could enhance your printed output.
</p><p>
Obvious examples of such meta-information include document title, page
numbers, date and time, and the application which printed the document.
You needn't be limited and use only text: if you've written a mail
program, for example, you might consider putting an icon on the page
which indicates if the mail is in the inbox or outbox.
</p><p>
To do this, you could modify your <code class="methodname">BView::Draw()</code> functions to check
<code class="methodname">IsPrinting()</code> is <code class="constant">true</code>,
and behave accordingly. A better approach is to
subclass <code class="classname">BPrintJob</code>, and have the derived class print your
meta-information. To see how to do this, take a look at the <code class="classname">BorderPrint</code>
class:
</p><p>
&lt;ftp://ftp.be.com/pub/samples/interface_kit/BorderPrint.zip&gt;
</p><p>
Adding this class to your application is trivial: just add it to your
makefile or project file, and change <code class="classname">BPrintJob</code> definitions in your code
to <code class="classname">BorderPrint</code> definitions. Now when your application prints, there will
be a small banner on the top of the page with the name of print job
centered, and a banner on the bottom of the page with the date and time
flushed right, and page number flushed right. There will be a thick
border around the entire document, with your application's contents
indented inside.
</p><p>
The heart of this trick lies in the
<code class="methodname">BorderPrint::DrawView()</code> function. The first time
this function is called, it calls
<code class="methodname">BPrintJob::DrawView()</code>, passing in its own
<code class="classname">BorderView</code> view. With the banners and borders now on
the spool page, <code class="methodname">BPrintJob::DrawView()</code> is called
with the actual <code class="classname">BView</code> argument, but with the
<code class="classname">BPoint</code> argument offset to account for the border
height and width.
</p><p>
Naturally, this wouldn't work if the <code class="methodname">PrintableRect()</code> function hadn't been
overridden to return a smaller <code class="classname">BRect</code>, one that fits inside the border.
</p><p>
There is one potential snag that you need to be aware of: most of the
functions in the <code class="classname">BPrintJob</code> class are not declared as virtual.
Consequently, in the unlikely event that your application passes
<code class="classname">BPrintJob</code> pointers around, you'll instead need to pass <code class="classname">BorderPrint</code>
pointers.
</p><p>
There's plenty of fun to be had with this trick, some useful, some purely
ornamental. Think unconventionally and experiment!
</p></div><hr class="pagebreak" /><div class="sect1"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="DevWorkshop4-43"></a>Developers' Workshop: QuickDrag</h2></div><div xmlns:d="http://docbook.org/ns/docbook"><span xmlns="http://www.w3.org/1999/xhtml" class="author">By <span class="firstname">Stephen</span> <span class="surname">Beaulieu</span></span></div></div></div><p>
In last week's Developer Workshop article,
<a class="xref" href="Issue4-42.html#DevWorkshop4-42" title="Developers' Workshop: TranslatorPanel: The Revenge">Developers' Workshop: TranslatorPanel: The Revenge</a>, Daniel presented a
method for starting a drag and drop session using a one-shot
<code class="classname">BMessageRunner</code>. The goal was to ignore extraneous mouse clicks and
inadvertent mouse drags. A potential disadvantage is that this imposes a
delay on the start of the drag process.
</p><p>
This week's sample code offers an alternate method for starting a drag
process based on the distance the mouse travels while a button is down.
</p><p>
You can find <span class="application">QuickDrag</span> at
</p><p>
&lt;ftp://ftp.be.com/pub/samples/intro/QuickDrag.zip&gt;
</p><p>
<span class="application">QuickDrag</span> creates a window with a single view that slowly cycles colors
through a very uninteresting algorithm. A drag is initiated when a user
clicks in the window and drags more than 10 pixels horizontally or
vertically from the click point. When a drag and drop session starts, a
transparent bitmap of the window's current color will be dragged and the
window will stop cycling colors.
</p><p>
The implementation is straightforward. The view caches the click point
when the mouse has moved 10 pixels and initiates the dragging process.
The code is self-explanatory, so I'll only point out two things here:
</p><div class="orderedlist"><ol><li><p>
It's necessary to call <code class="methodname">SetMouseEventMask()</code> in <code class="methodname">MouseDown()</code> to track
the mouse when it leaves the view. Otherwise, a click within 10 pixels
of an edge only generates a drag when the mouse moves into the view.
Unset the mask in <code class="methodname">MouseUp()</code>.
</p></li><li><p>
A pixel in a <code class="constant">B_RGB32</code> bitmap is not the same as
an <span class="type">rgb_color</span>. It's
necessary to swap the red and blue colors.
</p></li></ol></div></div><hr class="pagebreak" /><div class="sect1"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="Gassee4-43"></a>Peaceful Coexistence: The Sunny Side</h2></div><div xmlns:d="http://docbook.org/ns/docbook"><span xmlns="http://www.w3.org/1999/xhtml" class="author">By <span class="firstname">Jean-Louis</span> <span class="surname">Gassée</span></span></div></div></div><p>
You've heard it here, more than once: our goal on x-86 is peaceful
coexistence with Windows, not replacing it. Unlike OS/2's claim of
"better DOS than DOS, better Windows than Windows" we aim to please by
complementing the dominant OS. BeOS specializes in media-intensive
applications, while Windows provides traditional services such as office
productivity. In other words, add value and fun to your PC by loading
BeOS next to Windows, not instead of Windows.
</p><p>
I'm told this sounds reasonable. However, as we discovered reading the
transcript of the almost-forgotten anti-trust trial, Microsoft doesn't
like that story. One of their senior executives, Paul Maritz, argued that
BeOS was in fact a much more sinister threat. In his view, we only
masquerade as a specialized, complementary OS. Once having established a
foothold in the marketplace, though, we'd try to put his employer out of
business. BeOS, Be-ing such a threat, clearly established the fragility
of Microsoft's position; our existence proved beyond doubt they were not
a monopoly.
</p><p>
Ah well. I wonder what Microsoft will say to the fact that we're
demonstrating what BeOS can do for media-rich Web appliances, especially
in applications where broadband pipes allow for a heady mixture of
information and entertainment. And for transactions, a space where
Windows is too complicated and fragile, and where CE lacks the ability to
handle the media streams and the bandwidth.
</p><p>
Fortunately, customers have a sunnier perspective on peaceful
coexistence. You've probably read various columns criticizing Windows 98
for its size, complexity, and fragility. Recently, Walt Mossberg, the
Personal Computing Technology columnist at the Wall Street Journal, wrote
a fairly tart piece on his struggles with Win 98. Last August, if memory
serves, Stewart Alsop, speaking as both venture investor with NEA and
columnist for Fortune Magazine, wrote a "Why I hate Windows" piece
detailing his negative experiences. I could add my own registry of
stories but I'd rather let one of our customers tell his:
</p><div class="blockquote"><blockquote class="blockquote"><p>
From : xxxx yyy &lt;xxx@okay.net&gt;<br />
To : infobe@beeurope.com &lt;infobe@beeurope.com&gt;<br />
Date : mercredi 20 octobre 1999 23:21<br />
Subject : lifesaving with BeOS
</p><p>
hi folks—you don't know how great you (and your OS) are.
treated with much kindness by Menlo by getting registered
your OS just saved me.
</p><p>
My harddisk (fat) went off to space and none of the other
tools (tiramisu, etc etc etc) helped. I remembered at that
point that "BeOS mounts nearly everything..."
</p><p>
Installed BeOS on a separate partition, booting, mounting
defect drive, copying all valuable data to BeOS volume (and
for further safety on MO's). Back again—NOTHING LOST AT
ALL....
</p><p>
Took about 40 minutes and was so easy—thanks for this
from HAMBURG xxx yyy
</p></blockquote></div><p>
As stated above, this is a much sunnier perspective on peaceful
coexistence. Perhaps we ought to reposition BeOS as a companion utility
for Windows users. I still have a minimal DOS disk with Norton Commander,
a mouse driver, and a CD-ROM driver—I use it to reanimate my PC when
Windows crashes real hard. I'm red-faced, since I use System Commander
and BeOS on the same system. I should have thought of using our own
product.
</p></div></div><div id="footer"><hr /><div id="footerT">Prev: <a href="Issue4-42.html">Issue 4-42, October 20, 1999</a>  Up: <a href="volume4.html">Volume 4: 1999</a>  Next: <a href="Issue4-44.html">Issue 4-44, November 3, 1999</a> </div><div id="footerB"><div id="footerBL"><a href="Issue4-42.html" title="Issue 4-42, October 20, 1999"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a href="volume4.html" title="Volume 4: 1999"><img src="./images/navigation/up.png" alt="Up" /></a> <a href="Issue4-44.html" title="Issue 4-44, November 3, 1999"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="footerBR"><div><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div></div><div id="footerBC"><a href="http://www.access-company.com/home.html" title="ACCESS Co."><img alt="Access Company" src="./images/access_logo.png" /></a></div></div></div><div id="licenseFooter"><div id="licenseFooterBL"><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/" title="Creative Commons License"><img alt="Creative Commons License" style="border-width:0" src="https://licensebuttons.net/l/by-nc-nd/3.0/88x31.png" /></a></div><div id="licenseFooterBR"><a href="./LegalNotice.html">Legal Notice</a></div><div id="licenseFooterBC"><span id="licenseText">This work is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/">Creative
Commons Attribution-Non commercial-No Derivative Works 3.0 License</a>.</span></div></div></body></html>