FORUMS
Remove All Ads from XDA

[win32] API - New Sense interface Look 'n Feel V1.6.4 (01/28/11)

517 posts
Thanks Meter: 90
 
By petititi, Senior Member on 5th July 2010, 11:34 PM
Post Reply Email Thread
I have created a win32 API for C++ that mimics HTC's Sense UI Look 'n Feel... More informations on my website: charlie-soft.com

DOCUMENTATION : http://charlie-soft.com/Software/Manila_SDK/html/

This SDK is designed for speed: .NET applications are usually very slow to load and not fluid. I use some tricks to improve speed, like drawing only area having changes, scrolling without backbuffer or creating textures for text (GDI text drawing was slower…).
What’s in the box:
  • PNG resources for VGA/WVGA. They can be easily modified. SDK will resize automatically the resources if your device has a smaller (or higher) resolution!
  • Design your app for VGA, the SDK will adjust the layout for other resolutions!
  • Full Finger Control.
  • Source files (.cpp and .h) of library.
  • Source files of example.

Class:
  • MyEditControl: Edit box with different width. Easy get and set text. SIP detection: scroll Edit area.
  • MyItem: Button (3 types), checkboxes and switch (TripleState!). Event on click, visibility and state can be changed/get easily.
  • MyPanel : This element is not visible but is used to bring together elements. This element can have a title and dotted separator between each element.
  • ChildSection : Contains a subsection which is displayed with a sliding effect.
  • MyLabel: Print text with different font and color.
  • MyPictureBox: To print image (png, jpg, bmp, gif…)
  • MySelector: Like the HTML select. Scroll screen if list is out of screen (see video below).
  • Section: A section is a panel which can be scrolled up/down. It contains the different elements.
  • MessageBoxSense: Four type of messagebox: info, Ok/Cancel, Abort/Retry and Yes/No.
  • MySlider: A simple slider of any size... The min and max values can be changed easily, as the cursor position.
Change log
V1.6.4
Added the possibility of multilines in edit control
V1.6.3
Added possibility to add picture to slider of ChildSection...[bug solved]
Explorer bug solved
V1.6.2
Added an event when user click on screen...
V1.6.1
Memory usage improved
V1.6
Loading of image is now safe (use video memory by default but if problems use device memory)
File Explorer
Icons
Speed and memory improvement
V1.5
just add possibility to change color of text for hover and selected...
Minor bug changes:
  • items out of screen no longer try to redraw
  • text of items recompute their size when changing
  • background color is correctly changed
  • The SDK is now multi thread safe!
  • Add the possibility to right clicks (long press)
  • Add the possibility to hook windows message (WM_ACTIVATE for example)
  • Add the possibility to have a bottom bar.
  • Add the possibility to have a background image (landscape and portrait).
  • If the app is allready started, close the new instance and show the previous one.
  • MySelector can be scrolled if the list is too long.
  • Text is now printed with alpha transparency.
  • Compatible with any character (hebrew, vietnamese...).
  • MyPictureBox can now be stretched.
  • Memory usage reduced.

V1.4
  • Minor bugs fixed
  • Add the possibility to show MessageBox without a main application.
V1.3
  • Background can be transparent ! (see this app for demo)
  • Native drawing (DirectDraw was too slow in landscape)
  • Slider can have a force feedback (see this app for demo)
V1.2
  • MySlider added
  • drawing process rewrited: less redraw->less computation->less CPU utilization -> battery consumption reduced
  • Loading optimisation
  • The layout is now independent of screen resolution!
  • top taskbar is occassionally cleared [fixed]
  • White screen, touching the panel brings it back [fixed]
  • landscape items position incorrect [fixed]
V1.1
  • landscape compatible
  • Abort/Retry added to MessageBoxSense
  • TripleState Checkboxes and OnOffItems added

FAQ
  • is QVGA resolution supported?
    Yes, SDK will find the correct resolution and select the appropriate resource resolution. The SDK will delete the other resources...
  • have you planned to extend MessageBox types to Abort/Retry?
    Yes, to create one:
    MessageBoxSense::show(L"Hello",L"Try again ?", MESSAGE_ABORTRETRY);
  • is this landscape compatible?
    Yes but having refresh rate issue. Seems to be a DirectDraw problem (S2U2 was subject to the same issue...)
    If someone know how to solve this problem, send me a message !
  • Back button too slow.
    You can change the speed anim using this function: changeSpeed(double nbMilisecond)
  • why aren't you including some TripleState Checkboxes and OnOffItems ?
    Both are now included:
    new MyItem(1,5,15,ITEM_IS_CHECKBOX,ITEM_THIRD_STATE,L"My third checkbox (Third state)");

Other apps
Wake on Wan is a new app which use this SDK. Sources are available!
Quick shutdown is a software which use this SDK too. It can turn off, restart or set the phone in sleep mode. Sources are also available!

"
Attached Thumbnails
Click image for larger version

Name:	IMG3.jpg
Views:	1756
Size:	28.4 KB
ID:	355206   Click image for larger version

Name:	IMG4.jpg
Views:	1463
Size:	29.3 KB
ID:	355207   Click image for larger version

Name:	IMG5.jpg
Views:	1463
Size:	38.9 KB
ID:	355208   Click image for larger version

Name:	IMG6.jpg
Views:	1187
Size:	30.1 KB
ID:	355209   Click image for larger version

Name:	IMG7.jpg
Views:	1077
Size:	22.0 KB
ID:	355210   Click image for larger version

Name:	ScreenShot1.jpg
Views:	839
Size:	28.6 KB
ID:	364194  
Attached Files
File Type: 7z SDK_Manila_V1.6.4.7z - [Click for QR Code] (2.41 MB, 916 views)
File Type: 7z SDK_Manila_Library_V1.6.4.7z - [Click for QR Code] (1.64 MB, 582 views)
 
 
6th July 2010, 12:28 AM |#2  
OP Senior Member
Nantes
Thanks Meter: 90
 
Donate to Me
More
Lightbulb Sense SDK win32 C++
For informations about SDK (installation, use compile...), see here: http://charlie-soft.com/Software/Manila_SDK/html/
6th July 2010, 12:19 PM |#4  
Senior Member
Thanks Meter: 29
 
More
Hello my friend !

Great work !
( C'était exactement ce que je cherchais en c++ pour mes MFC smart device !!! )
6th July 2010, 12:23 PM |#5  
Member
Thanks Meter: 0
 
More
Great Work, Thx for the source!!
6th July 2010, 12:47 PM |#6  
Senior Member
Thanks Meter: 34
 
More
Really great work!

but I have two questions:
- is QVGA resolution supported?
- have you planned to extend MessageBox types to Abort/Retry?

thank you
regards
6th July 2010, 12:52 PM |#7  
Senior Member
Flag Zwollywood
Thanks Meter: 0
 
More
NIce work

Altough i don't really know what todo with it... i instalt the example.cab and it was really smooth!

Only one thing if i go to other controls and i want to change the value then the onscreen keyboard should show up right? But it doesn't.... So i slide my qwerty keyboard open, and in landscape i get an error message: DDERR_SURFACELOST(back buffer)

I dont know what it means... is this landscape compatible?
6th July 2010, 01:40 PM |#8  
Zepiii's Avatar
Retired Forum Moderator
Flag www.generation-mobiles.net
Thanks Meter: 14
 
Donate to Me
More
Good job man !
6th July 2010, 01:55 PM |#9  
Junior Member
Thanks Meter: 1
 
More
Question
Nice works !

I just have a feedback, I find too slow the animation when you click on the "back" button, is there is a way to speed it up ? (or disable simply the animation)
6th July 2010, 02:51 PM |#10  
OP Senior Member
Nantes
Thanks Meter: 90
 
Donate to Me
More
Cool SDK Manila
Hello all !
I will try to answer all your questions. So :
- is QVGA resolution supported?
No but easy to implement... Just resize resources to correct resolution. I will post resources shortly.
- have you planned to extend MessageBox types to Abort/Retry?
If it's something wanted, I will do it.
- is this landscape compatible?
No, not yet. But will be in next release!
-Back button too slow.
I will add a method to set the speed of animation... in the next release

-Bug with hardware keyboard
The onscreen keyboard don't show up and I don't know why... I will look around for a fix.
If a developer wants to translate .NET applications into C++, feel free to post I will try to help you!

There is still lot of work, but I will try to do this quickly!
6th July 2010, 02:56 PM |#11  
Senior Member
Thanks Meter: 34
 
More
Quote:
Originally Posted by petititi

- have you planned to extend MessageBox types to Abort/Retry?
If it's something wanted, I will do it.

thank you for quick reply. I need this extension for my app "htc menu loader" (link in signature) to migrate from .net to c++

again, really great work. You are making something that HTC should have done months ago.
Post Reply Subscribe to Thread

Tags
c++, hci, ihm, manila, sense

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes