suggested algorithms to prevent "image persistence" on an LCD screen [closed] - kiosk

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 9 years ago.
Improve this question
I have a Windows application which is displayed on kiosk machines and often runs continuously for weeks. The application is full screen. For reference imagine a screen divided into 2 panels, the left one uses about 30% and the right fills the rest. The left panel is completely static and informational, the right panel has video, image and text slides rotate, animations, etc.
No surprise, the left panel can cause some "image persistence" (screen burn) issues. I am looking for suggested remedies on how to prevent the image persistence issue. I'm only concerned about LCD not CRT.
Check out this "wiper" style solution, give it a few seconds you'll see the line wipe across.
http://tinyurl.com/lprt6tr
I like this idea, simple and just overlay it on top, it will work anywhere.
But, my question is how much pixel color change is actually required to avoid the image persistence? Do you need to make sure the pixel changes color at least once every minute, 10 minutes, hour? Does it need to rotate through a range of colors? Does it need to hold a state for a period of time?
Any insight about how often and what kind of color change is needed to actually prevent the problem is what I'm looking for.
Thanks.

Though I agree to Ken White, I guess a double wiper, with a white trail on the left and a black one on the right, would be sufficient, since it would do a hard set on the pixels.
As for the update frequency, you don't need to set it as frequent as you have in your fiddle. See this fiddle: http://jsfiddle.net/4w2K3/83/
Notice I added a border to the sweeper element and changed the way your code works a bit.
var $burnGuard = $('<div>').attr('id','burnGuard').css({
'background-color':'#000',
'width':'1px',
'height':$(document).height()+'px',
'position':'absolute',
'top':'0px',
'left':'0px',
'border-left':'solid 1px',
'border-color':'#FFF',
'display':'none'
}).appendTo('body');
var delay = 10000, scrollDelay = 1000;
function burnGuardAnimate()
{
$burnGuard.css({
'left':'0px'
}).show().animate({
'left':$(window).width()+'px'
},scrollDelay,function(){
$(this).hide();
});
setTimeout(burnGuardAnimate,delay);
}
setTimeout(burnGuardAnimate,delay);
Since screens are basically a giant array of coloured lights (simplified) organised in sets of 3 (red, green and blue), according to colour composition, white would activate all three lights at once, while black is no light at all. So, sweeping this strong-contrast line across the screen would help. Though the timing is much more dependant on the hardware you're using and how often your screen changes naturally (ads, user interaction, etc) I don't know much about the hardware part, but I would suggest from personal experience with CRT monitors, running this every 15 minutes or so, it also depends how long you plan to maintain the same screen for the kiosk.

Related

Changing game size in Phaser dynamically

I'm building a game in which I can enter a building, which I'm handling via states. In other words, when my character overlaps with the door, the program starts a new state in which the interior of the building is built. Now, I want the interior to have smaller dimensions than the world, so I want to change the game size when I start this new state.
I tried this:
create: function()
{
//game size was 1000x700, I want to scale it to 700x450
game.width = 700;
game.height = 450;
//rest of creation code...
}
I also tried things like changing camera bounds, world bounds, world size, but method above shows the most promise.
The problem, however, is that the resize for some reason does not show until I click away from my browser tab and back. Calling game.width in the console yields 700 at all times, but it doesn't show it as such until tabbing out and back.
On top of that, the contents of the game (floor, furniture) are scaled down when the game resizes, defeating the purpose. I don't understand why it would, since there's no scaling anywhere in my code.
Any help would be greatly appreciated.
Edit:
I just saw that you were the one asking the question I linked to, so I guess the question is solved :D
I had a similar problem some time ago. As you described yourself: what you are doing is a resize! So the game resizes itself which means the same as re-scaling everything in the game.
if you want to cut the game smaller you can simply use
game.scale.setGameSize(700, 450);.
(see this post if you need more information)
As additional information: I later had problems with cutting the game size equally on all sides, so if you should come to face the same problem, have a look at this post

Prevent illustrator layer color over text being edited [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 7 years ago.
Improve this question
When editing text in Illustrator, the text being edited receives a solid overlay of the colour of the layer it belongs.
This is sometimes annoying, as I would like to see the text with its own colour and effects.
How can I prevent this behaviour?
This question is probably better suited for http://graphicdesign.stackexchange.com. In the future, I'd recommend searching for answers and posting questions there. However, I understand that doesn't help you as quickly, so to answer your current question...
Under the View menu, you'll want to play with Hide Edges and Hide Bounding Box, depending on exactly what you're trying to accomplish, you may have to turn off both.
Bounding Box
The Bounding Box refers to a single perimeter around the furthest boundary of all currently selected objects. This also contains the transform controls/handles that can be seen at each corner, and in the middle of each side of the perimeter box. This does not affect the highlighting of individual object edges within the selection.
Edges
The Edges refers to the edges of each object within the current selection. If any of the objects are text objects, it also refers to the underlining within the text box.
It's worth noting that if you only have one object selected, you'll notice very little difference unless you choose to hide both Edges and Bounding Box.

What should I use to control input devices and more [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I am fluent in C++, Java, and Python and can pretty much pick up any other skill given enough time (no surprise there, I'm sure 99.9% of the people reading this share the same ability).
I have an idea for a small app for Mac OS X and I was wondering what technology I should employ/learn to get it working. I need some minimal OS X integration to get this done right.
I'm thinking I should probably use objective-C with Cocoa, but if this could be done with some Java library I would prefer that.
My Mac OS X application would do the following:
Be able to intercept all keyboard and mouse input regardless of active (focused) application and select to either block it (effectively disabling input) or act on receipt of certain keyboard shortcuts.
Have a Mac OS X menu bar item (at the top right of the screen next to the battery, network adapter, etc.)
Be able to occupy the entire screen at times (with some OpenGL canvas to display animations, much like a screen saver does)
Have sound.
What technologies would you recommend?
My Mac OS X application would do the following:
Be able to intercept all keyboard and mouse input regardless of active (focused) application and select to either block it (effectively disabling input) or act on receipt of certain keyboard shortcuts.
CGEventTap.
Have a Mac OS X menu bar item (at the top right of the screen next to the battery, network adapter, etc.)
NSStatusItem.
Be able to occupy the entire screen at times (with some OpenGL canvas to display animations, much like a screen saver does)
Any NSView can do this, but for OpenGL, you'll want NSOpenGLView specifically.
Alternatively to the usual full-screen method, you might prefer to put the view in a window at the screen-saver level. Try both ways and see which works best for you.
Have sound.
NSSound.
If you are well versed in C based languages, Cocoa is an excellent place to start and would probably be the easiest for the tasks you describe. Start here for cocoa: http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/Introduction.html
Python has some excellent support as well, you can look here for modules that may contain what you need: http://docs.python.org/library/mac.html
If you would prefer Java, here is where I would start looking for the functionality you need: http://developer.apple.com/mac/library/documentation/Java/Conceptual/Java14Development/05-CoreJavaAPIs/CoreJavaAPIs.html
I'm not sure honestly which to recommend, I can just say cocoa will probably have the best support for any integration you may need.
This started out as a comment but got too big.
I think you could do most of this with Java - menu icons, for instance, can be done through the SystemTray API which puts them in the relevant place on Windows or OS X. A previous specific answer on this : System Tray (Menu Extras) icon in Mac Os using Java
The key question is whether Java has APIs to grab 'raw' events from the OS, or only when focus is on the application. The standard KeyListener, for instance, is linked to a component with focus.
However, given the nature of the application, I'd suggest going with Cocoa. This would also allow you to use Core Animation (a higher level abstraction over Quartz / OpenGL).

Restore the object's properties after applying in Blender 3D (apply location/rotation/scale) [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 6 years ago.
Improve this question
I've made a game map in blender and accidentally applied the objects transformations.
I don't really understand how it works. My guess is that the properties getting zeroed because the origin of the object is being set to its center.
I've tried the "clear origin" option, but it doesn't work. Any suggestions?
Thank you,
Amir.
Presuming that I understood you correctly:
Alt+R : Clear Rotation
Alt+G : Clear Location
Alt+S : Clear Scale
When you have a complex object with a container and child transforms that hold the actual meshes, if you mistakenly Apply Location CTRL+A on your container (and it wasn't in the center) it will indeed annoyingly show the location gizmo for the object at the center of the scene (possibly with dotted lines pointing to the child origins).
To fix this (even if you applied location to the child transforms as well), Select your meshes (for example with B) and Set Origin CTRL+SHIFT+ALT+C to Geometry. (This will fix locations of transforms with meshes.)
Next either go to Edit mode TAB and select two (or more) of the extreme vertices - basically corners of the bounding box and Snap SHIFT+S Cursor to Selected (that should get your cursor to the very center of your collection).
Next Unparent ALT+P your transforms (Clear and Keep Transformation), Select your original parent container and Snap SHIFT+S Selection to Cursor.
Finally Select the children again and Parent CTRL+P them back to the container (by Selecting it last).
In the case of Scale and Rotation, if the Undo CTRL+Z didn't help you, then you'll need to manually adjust them back to how they used to be. Point of reference usually helps, if you've got a backup of a previous version, you can just compare to that. Otherwise you can create basic Cube Mesh SHIFT+A or use the grid and Ruler/Protractor (Tool Shelf T > Grease Pencil > Ruler/Protractor) to help you (notice the helpful CTRL guidance).
For Scale S, measure against known length (measured changed length / measured original length), divide the Scale (Properties > Object > Scale) by the resulting quotient and apply the result as new Scale. (Notice, that if you didn't change the Scale uniformly, you might need to do this separately for each axis.)
For Rotation R you'll need to do similar measurements and calculations, though simple manual adjustment with the help of CTRL might get you desired results.
After you've corrected Scale and Rotation, remember to Apply CTRL+A your result (but preferably not the Position).
Once you apply transformation to the object data, there is no way to get it back automatically since its a destructive operation (like flattening layers of an image or scaling it down).
Besides manually setting to the cursor and making that the origin, but that still misses rotation and scale.
you can use Origin tool with 'Origin To Geometry' option to reset the pivot, but thats all.

Why does Squeak use Colors to identify Mouse Buttons? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
This is really annoying when you try to follow the documentation Squeak by Example.
Instead of calling the mouse buttons left, right, and middle, like in any other documentation, they give them colors. It's even suggested to label the mouse to help you learning.
It's 2009 and there are 3 dominant systems left: Windows, MacOS X, Linux
Why do they still stick to this naming scheme? How should I be able to sell this to co-workers, or even customers?
From Squeak by Example:
Squeak avoids terms like “left mouse
click” because different computers,
mice, keyboards and personal
configurations mean that different
users will need to press different
physical buttons to achieve the same
effect. Instead, the mouse buttons are
labeled with colors. The mouse button
that you pressed to get the “World”
menu is called the red button; it is
most often used for selecting items in
lists, selecting text, and selecting
menu items. When you start using
Squeak, it can be surprisingly helpful
to actually label your mouse, as shown
in Figure 1.4.
The button colors probably date back to the experiments at Xerox (where the mouse was invented). So maybe the question should be “why do current computers have colorless mouse buttons?” :D
As for sticking with the colors in the book, I think the reason was that the colors are still mentioned in the code, and colors don't always get mapped to the same fingers depending on the platform. But I agree, the color system is not very practical; probably the best would be to use primary/secondary/tertiary buttons?
That's one of those things you take with a grain of salt. :)
I read that the other day, and I will certainly not go out of my way to add some colourful buttons to my mouse.
Just mentally substitute "left-click" for red, etc.
It's ridiculous. Left and right are already abstract concepts. Naming the buttons with colours is an abstraction of an abstraction.
The labels left and right are avoided because left-handed people will have the buttons reversed. What does it mean when a lefty mouse has its right button clicked? Should the program perform its right-click action or its left-click action. If we simply swap the mappings, then right and left become rather meaningless to the programmer.
I assume the designers of Squeak wanted to avoid this thorny issue, so actions are labeled with colors which are agnostic to right/left.
Squeak is a SmallTalk tool. Obviously they feel compelled to abstract the buttons into something less specific.
It appears they've blurred the line between reality and code constructs.
This legacy is so 70ies, I hope that Pharo will fix this.
Contrary to what Damien said, the mouse was not invented at Xerox; rather, it was invented by team at Stanford Research Institute led by Douglas Engelbart as part of their revolutionary ONLINE system.
The coloring of the buttons is an old, old convention, one that I personally tend not to pay much attention to. The odd thing about that image you posted, though, is that the right button ("yellow" in Smalltalk parlance) appears more green than yellow--at least, to me. Does it appear that way to anyone else? Perhaps this is in part why the coloring convention was dropped elsewhere (and ought similarly be abandoned in Squeak).
The paragraph that was quoted has been echoed among the answers as well: the "left-click" might or might not come from the button on the left - and the "right-click" might or might not come from the button on the right.
A pet peeve of mine is the talk of a "third button" - which almost always is in the middle. The sequence is not 1-3-2 but 1-2-3. Perhaps that third button should be a color too....