Go to file
Julian Harnath 4721524cb5 BAffineTransform: add PreTranslate/PreScale/PreRotate
* The existing methods TranslateBy(), ScaleBy() and RotateBy()
  transform the transformation. For a transform A, a point p,
  and the temporary transform B (being applied by the methods),
  this results in p' = B*(A*p) = (B*A)*p
  This is not necessarily the desired result. Suppose A is a
  translation and B a rotation, added by RotateBy(). Then B*A
  means that the translation itself is rotated, so B moves the
  coordinate origin itself, by rotating it around the original
  origin of the coordinate system (top left view corner).

  If we want to translate and then rotate around that *new* origin,
  we need to multiply the transforms the other way around: A*B.

  Three new methods PreTranslateBy(), PreScaleBy() and PreRotateBy()
  implement this. They are later used as a base to add translatation/
  scaling/rotation methods to BView which behave in the expected
  ordering, similar to other graphic APIs.
2015-11-10 23:34:03 +01:00
3rdparty HardwareChecker: of course now netcat is called 'nc' again... 2015-11-01 03:08:41 +01:00
build Update LnLauncher to a version that doesn't lose settings. 2015-11-10 20:54:08 +01:00
data launch_daemon: Added forgotten time update/dstcheck. 2015-11-07 21:58:12 +01:00
docs BTranslatorRoster::Default docs: Further rework and typo fixes 2015-10-26 18:43:35 +01:00
headers BAffineTransform: add PreTranslate/PreScale/PreRotate 2015-11-10 23:34:03 +01:00
src app_server: apply transform to CopyBits 2015-11-10 23:33:58 +01:00
.gitignore .gitignore: add .pyc and .pyo files. 2015-06-19 15:40:40 -04:00
configure configure: Disable Clang's integrated assembler 2015-11-08 22:11:28 +01:00
Jamfile Switch to tiff4 as system dependency. 2015-10-18 10:00:02 +02:00
Jamrules build: delete DocumentationRules. 2015-06-22 13:20:07 -04:00
ReadMe.Compiling.md ReadMe.Compiling: specify Bison 2.4 as the minimum. 2015-06-22 13:20:01 -04:00
ReadMe.md ReadMe: HaikuPorts has moved to GitHub. 2015-06-30 10:03:49 -04:00

Haiku

Homepage | Mailing Lists | IRC Channels | Issue Tracker | API docs

Haiku is an open-source operating system that specifically targets personal computing. Inspired by the BeOS, Haiku is fast, simple to use, easy to learn and yet very powerful.

Goals

  • Sensible defaults with minimal configuration required.
  • Clean, clear, concise code.
  • Unified desktop environment.

Trying Haiku

Haiku provides pre-built nightly images and release images. Haiku is compatible with a large variety of hardware, but in case you don't want to "take the plunge" and install Haiku on bare metal, you can install it on a virtual machine (VM) instead. If you've never used a VM before, you can follow one of the "Emulating Haiku" guides.

Compiling Haiku

See ReadMe.Compiling.

Contributing

Haiku is a meritocratic open source project with a large variety of tasks. Even if you can't write code, you can still help! Haiku needs designers, (technical) writers, translators, testers... Get involved and help out!

Contributing code

If you're submitting a patch to us, please make sure you're following the patch submitting guidelines.

If you're having trouble finding something in the source tree, you can use one of our OpenGrok servers:

Contributing documentation

The main piece of documentation that still needs work are the API docs (found in the tree at docs/user). Just find an undocumented class, write documentation for it, and submit a patch.

Contributing translations

See wiki:i18n.

Contributing software ports

See HaikuPorts.